On Tue, May 8, 2012 at 4:05 PM, Richard Henderson <r...@redhat.com> wrote: > On 05/06/2012 11:41 AM, Richard Sandiford wrote: >> >> PR middle-end/53249 >> * dwarf2out.h (get_address_mode): Move declaration to... >> * rtl.h: ...here. >> * dwarf2out.c (get_address_mode): Move definition to... >> * rtlanal.c: ...here. >> * var-tracking.c (get_address_mode): Delete. >> * combine.c (find_split_point): Use get_address_mode instead of >> targetm.addr_space.address_mode. >> * cselib.c (cselib_record_sets): Likewise. >> * dse.c (canon_address, record_store): Likewise. >> * emit-rtl.c (adjust_address_1, offset_address): Likewise. >> * expr.c (move_by_pieces, emit_block_move_via_loop, >> store_by_pieces) >> (store_by_pieces_1, expand_assignment, store_expr, >> store_constructor) >> (expand_expr_real_1): Likewise. >> * ifcvt.c (noce_try_cmove_arith): Likewise. >> * optabs.c (maybe_legitimize_operand_same_code): Likewise. >> * reload.c (find_reloads): Likewise. >> * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. >> * sel-sched-dump.c (debug_mem_addr_value): Likewise. > > > ok. > > > r~
I checked in this testcase. Thanks. -- H.J. -- 2012-05-09 H.J. Lu <hongjiu...@intel.com> PR middle-end/53249 * gcc.target/i386/pr53249.c: New. diff --git a/gcc/testsuite/gcc.target/i386/pr53249.c b/gcc/testsuite/gcc.target/i386/pr53249.c new file mode 100644 index 0000000..9eab8bc --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr53249.c @@ -0,0 +1,25 @@ +/* { dg-do compile { target { ! { ia32 } } } } */ +/* { dg-options "-O2 -mx32 -ftls-model=initial-exec -maddress-mode=short" } */ + +struct gomp_task +{ + struct gomp_task *parent; +}; + +struct gomp_thread +{ + int foo1; + struct gomp_task *task; +}; + +extern __thread struct gomp_thread gomp_tls_data; + +void +__attribute__ ((noinline)) +gomp_end_task (void) +{ + struct gomp_thread *thr = &gomp_tls_data; + struct gomp_task *task = thr->task; + + thr->task = task->parent; +}