diff mbox

Fix spurious match testsuite regressions from "[PATCH, middle end]: Introduce BUILT_IN_I{CEIL_FLOOR_ROUND_RINT} FP-to-int conversion functions"

Message ID 201108150506.p7F56DV5031874@ignucius.se.axis.com
State New
Headers show

Commit Message

Hans-Peter Nilsson Aug. 15, 2011, 5:06 a.m. UTC
This patch:

> 2011-08-11  Uros Bizjak  <ubizjak@gmail.com>
> 
> 	* builtins.def (BUILT_IN_ICEIL{,F,L}, BUILT_IN_IFLOOR{,F,L},
> 	BUILT_IN_IRINT{,F,L}, BUILT_IN_IROUND{,F,L}: New builtin definitions.
> 	* convert.c (convert_to_integer): Convert to BUILT_IN_ICEIL,
> 	BUILT_IN_IFLOOR, BUILT_IN_IRINT or BUILT_INT_IROUND when converting
> 	to integer_type_node.
> 	* fold-const.c (tree_call_nonnegative_warnv_p): Handle BUILT_IN_ICEIL,
> 	BUILT_IN_IFLOOR, BUILT_IN_IRINT and BUILT_INT_IROUND.
> 	* builtins.c (expand_builtin_in): Ditto.
> 	(mathfn_built_in_1): Ditto.
> 	(expand_builtin_int_roundingfn): Handle BUILT_IN_ICEIL and
> 	BUILT_IN_IFLOOR.
> 	(expand_builtin_int_roundingfn_2): Handle BUILT_IN_IRINT and
> 	BUILT_IN_IROUND.
> 	(fold_fixed_mathfn): Canonicalize BUILT_IN_ICEIL, BUILTIN_IN_IFLOOR,
> 	BUILT_IN_IRINT and BUILT_IN_IROUND to BUILT_IN_LCEIL,
> 	BUILTIN_IN_LFLOOR, BUILT_IN_LRINT and BUILT_IN_LROUND on ILP32 targets.

"caused" this regression for cris-elf:

Running /tmp/hpautotest-gcc1/gcc/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp ...
...
FAIL: gcc.dg/tree-ssa/vrp61.c scan-tree-dump-not vrp1 "1234"

Looking at vrp61.c only yields a big WTF, but when looking at
the vrp61.c.067t.vrp1 dump file all is explained, because there,
at the top is:

;; Function f (f, funcdef_no=0, decl_uid=1234, cgraph_uid=0)

Hilarious.  Probably not the instance intended to not-look for.
Anyway, I decided not to try and do anything else but a
brain-dead tweak, hoping that someone used to writing such
test-cases would jump in with a better solution (like, not
dumping the decl_uid unless the dump verbosity-level is
higher)... doh!  Anyhow, the following should fit nicely with
16-bitters and allow for another ten-fold of built-in functions...

So, ok as is?
If not, would you preapprove tree-dumping decl_uids only at a
higher dump verbosity level?

gcc/testsuite:
	* gcc.dg/tree-ssa/vrp61.c: Increase magic number from 1234 to
	12345.


brgds, H-P

Comments

Richard Biener Aug. 15, 2011, 8:43 a.m. UTC | #1
On Mon, 15 Aug 2011, Hans-Peter Nilsson wrote:

> This patch:
> 
> > 2011-08-11  Uros Bizjak  <ubizjak@gmail.com>
> > 
> > 	* builtins.def (BUILT_IN_ICEIL{,F,L}, BUILT_IN_IFLOOR{,F,L},
> > 	BUILT_IN_IRINT{,F,L}, BUILT_IN_IROUND{,F,L}: New builtin definitions.
> > 	* convert.c (convert_to_integer): Convert to BUILT_IN_ICEIL,
> > 	BUILT_IN_IFLOOR, BUILT_IN_IRINT or BUILT_INT_IROUND when converting
> > 	to integer_type_node.
> > 	* fold-const.c (tree_call_nonnegative_warnv_p): Handle BUILT_IN_ICEIL,
> > 	BUILT_IN_IFLOOR, BUILT_IN_IRINT and BUILT_INT_IROUND.
> > 	* builtins.c (expand_builtin_in): Ditto.
> > 	(mathfn_built_in_1): Ditto.
> > 	(expand_builtin_int_roundingfn): Handle BUILT_IN_ICEIL and
> > 	BUILT_IN_IFLOOR.
> > 	(expand_builtin_int_roundingfn_2): Handle BUILT_IN_IRINT and
> > 	BUILT_IN_IROUND.
> > 	(fold_fixed_mathfn): Canonicalize BUILT_IN_ICEIL, BUILTIN_IN_IFLOOR,
> > 	BUILT_IN_IRINT and BUILT_IN_IROUND to BUILT_IN_LCEIL,
> > 	BUILTIN_IN_LFLOOR, BUILT_IN_LRINT and BUILT_IN_LROUND on ILP32 targets.
> 
> "caused" this regression for cris-elf:
> 
> Running /tmp/hpautotest-gcc1/gcc/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp ...
> ...
> FAIL: gcc.dg/tree-ssa/vrp61.c scan-tree-dump-not vrp1 "1234"
> 
> Looking at vrp61.c only yields a big WTF, but when looking at
> the vrp61.c.067t.vrp1 dump file all is explained, because there,
> at the top is:
> 
> ;; Function f (f, funcdef_no=0, decl_uid=1234, cgraph_uid=0)
> 
> Hilarious.  Probably not the instance intended to not-look for.
> Anyway, I decided not to try and do anything else but a
> brain-dead tweak, hoping that someone used to writing such
> test-cases would jump in with a better solution (like, not
> dumping the decl_uid unless the dump verbosity-level is
> higher)... doh!  Anyhow, the following should fit nicely with
> 16-bitters and allow for another ten-fold of built-in functions...
> 
> So, ok as is?
> If not, would you preapprove tree-dumping decl_uids only at a
> higher dump verbosity level?

Ok.  Yes, definitely, a patch to do decl_uids dumping only at
TDF_UID is pre-approved (you'd need to adjust some testcases
I guess).

Thanks,
Richard.

> gcc/testsuite:
> 	* gcc.dg/tree-ssa/vrp61.c: Increase magic number from 1234 to
> 	12345.
> 
> Index: gcc.dg/tree-ssa/vrp61.c
> ===================================================================
> --- gcc.dg/tree-ssa/vrp61.c	(revision 177757)
> +++ gcc.dg/tree-ssa/vrp61.c	(working copy)
> @@ -7,10 +7,10 @@ int f (int x, int y)
>      {
>        x = x ^ y;
>        if (x < 0 || x > 1023)
> -	return 1234;
> +	return 12345;
>      }
>    return x;
>  }
>  
> -/* { dg-final { scan-tree-dump-not "1234" "vrp1" } } */
> +/* { dg-final { scan-tree-dump-not "12345" "vrp1" } } */
>  /* { dg-final { cleanup-tree-dump "vrp1" } } */
> 
> brgds, H-P
> 
>
diff mbox

Patch

Index: gcc.dg/tree-ssa/vrp61.c
===================================================================
--- gcc.dg/tree-ssa/vrp61.c	(revision 177757)
+++ gcc.dg/tree-ssa/vrp61.c	(working copy)
@@ -7,10 +7,10 @@  int f (int x, int y)
     {
       x = x ^ y;
       if (x < 0 || x > 1023)
-	return 1234;
+	return 12345;
     }
   return x;
 }
 
-/* { dg-final { scan-tree-dump-not "1234" "vrp1" } } */
+/* { dg-final { scan-tree-dump-not "12345" "vrp1" } } */
 /* { dg-final { cleanup-tree-dump "vrp1" } } */