mirror of git://gcc.gnu.org/git/gcc.git
re PR tree-optimization/47239 ((int)&func & 3 is always optimized to 0 on some targets)
2011-01-11 Richard Guenther <rguenther@suse.de> PR tree-optimization/47239 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs. From-SVN: r168661
This commit is contained in:
parent
9f9ca914cc
commit
e98965af89
|
@ -1,3 +1,8 @@
|
||||||
|
2011-01-11 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/47239
|
||||||
|
* tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
|
||||||
|
|
||||||
2011-01-11 Jeff Law <law@redhat.com>
|
2011-01-11 Jeff Law <law@redhat.com>
|
||||||
|
|
||||||
* PR tree-optimization/47086
|
* PR tree-optimization/47086
|
||||||
|
|
|
@ -522,6 +522,10 @@ get_value_from_alignment (tree expr)
|
||||||
val = bit_value_binop (PLUS_EXPR, TREE_TYPE (expr),
|
val = bit_value_binop (PLUS_EXPR, TREE_TYPE (expr),
|
||||||
TREE_OPERAND (base, 0), TREE_OPERAND (base, 1));
|
TREE_OPERAND (base, 0), TREE_OPERAND (base, 1));
|
||||||
else if (base
|
else if (base
|
||||||
|
/* ??? While function decls have DECL_ALIGN their addresses
|
||||||
|
may encode extra information in the lower bits on some
|
||||||
|
targets (PR47239). Simply punt for function decls for now. */
|
||||||
|
&& TREE_CODE (base) != FUNCTION_DECL
|
||||||
&& ((align = get_object_alignment (base, BIGGEST_ALIGNMENT))
|
&& ((align = get_object_alignment (base, BIGGEST_ALIGNMENT))
|
||||||
> BITS_PER_UNIT))
|
> BITS_PER_UNIT))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue