simplify-rtx.c (avoid_constant_pool_reference): Export.
* simplify-rtx.c (avoid_constant_pool_reference): Export. * rtl.h (avoid_constant_pool_reference): Declare it. * dwarf2out.c (add_location_or_const_value_attribute): Use it. (add_const_value_attribute): Use add_AT_unsigned for unsigned values. From-SVN: r44411
This commit is contained in:
parent
62ba5f39b2
commit
732910b9c5
4 changed files with 15 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2001-07-26 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* simplify-rtx.c (avoid_constant_pool_reference): Export.
|
||||
* rtl.h (avoid_constant_pool_reference): Declare it.
|
||||
* dwarf2out.c (add_location_or_const_value_attribute): Use it.
|
||||
(add_const_value_attribute): Use add_AT_unsigned for unsigned values.
|
||||
|
||||
Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* rtl.h (cleanup_barriers): Declare.
|
||||
|
|
|
@ -8215,7 +8215,7 @@ add_const_value_attribute (die, rtl)
|
|||
{
|
||||
if ((unsigned long) val != (unsigned HOST_WIDE_INT) val)
|
||||
abort ();
|
||||
add_AT_int (die, DW_AT_const_value, (unsigned long) val);
|
||||
add_AT_unsigned (die, DW_AT_const_value, (unsigned long) val);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -8474,6 +8474,11 @@ add_location_or_const_value_attribute (die, decl)
|
|||
if (rtl == NULL_RTX)
|
||||
return;
|
||||
|
||||
/* If we don't look past the constant pool, we risk emitting a
|
||||
reference to a constant pool entry that isn't referenced from
|
||||
code, and thus is not emitted. */
|
||||
rtl = avoid_constant_pool_reference (rtl);
|
||||
|
||||
switch (GET_CODE (rtl))
|
||||
{
|
||||
case ADDRESSOF:
|
||||
|
|
|
@ -1345,6 +1345,7 @@ extern rtx simplify_gen_subreg PARAMS ((enum machine_mode,
|
|||
unsigned int));
|
||||
extern rtx simplify_replace_rtx PARAMS ((rtx, rtx, rtx));
|
||||
extern rtx simplify_rtx PARAMS ((rtx));
|
||||
extern rtx avoid_constant_pool_reference PARAMS ((rtx));
|
||||
|
||||
/* In function.c */
|
||||
extern rtx gen_mem_addressof PARAMS ((rtx, union tree_node *));
|
||||
|
|
|
@ -99,7 +99,6 @@ Boston, MA 02111-1307, USA. */
|
|||
static rtx simplify_plus_minus PARAMS ((enum rtx_code,
|
||||
enum machine_mode, rtx, rtx));
|
||||
static void check_fold_consts PARAMS ((PTR));
|
||||
static rtx avoid_constant_pool_reference PARAMS ((rtx));
|
||||
|
||||
/* Make a binary operation by properly ordering the operands and
|
||||
seeing if the expression folds. */
|
||||
|
@ -138,7 +137,7 @@ simplify_gen_binary (code, mode, op0, op1)
|
|||
|
||||
/* If X is a MEM referencing the constant pool, return the real value.
|
||||
Otherwise return X. */
|
||||
static rtx
|
||||
rtx
|
||||
avoid_constant_pool_reference (x)
|
||||
rtx x;
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue