summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-11 16:57:25 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-11 16:57:25 +0000
commitd89f182d5175ef56fcf5a8388c48d964b3c3aa74 (patch)
tree755f987ded70868d77d0a6f6d647ab846363e287 /libstdc++-v3
parent1edb55c86493dbfd1f57a3e41536673fb66588d6 (diff)
downloadppe42-gcc-d89f182d5175ef56fcf5a8388c48d964b3c3aa74.tar.gz
ppe42-gcc-d89f182d5175ef56fcf5a8388c48d964b3c3aa74.zip
PR debug/49676
* dwarf2out.c (int_shift_loc_descriptor): New function. (int_loc_descriptor): If shorter, emit i as (i >> shift), shift, DW_OP_shl for suitable shift value. Similarly, try to optimize large negative values using DW_OP_neg of a positive value if shorter. (size_of_int_shift_loc_descriptor): New function. (size_of_int_loc_descriptor): Adjust to match int_loc_descriptor changes. (mem_loc_descriptor) <case CONST_INT>: Emit zero-extended constants that fit into DWARF2_ADDR_SIZE bytes as int_loc_descriptor + DW_OP_GNU_convert instead of DW_OP_GNU_const_type if the former is shorter. (resolve_addr_in_expr): Optimize DW_OP_plus_uconst with a large addend as added DW_OP_plus if it is shorter. * gcc.dg/guality/csttest.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176167 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud