diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-02-23 22:03:05 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-02-23 21:03:05 +0000 |
commit | e755fcf517ba5a4f5e90737ec3290bbbc6ab1bba (patch) | |
tree | 0279569a12cde36a792d11397042f36e68a2ff7a /gcc/loop-invariant.c | |
parent | 65acccdd22e3fc50f4272bc274e10e96dbbcd527 (diff) | |
download | gcc-e755fcf517ba5a4f5e90737ec3290bbbc6ab1bba.zip gcc-e755fcf517ba5a4f5e90737ec3290bbbc6ab1bba.tar.gz gcc-e755fcf517ba5a4f5e90737ec3290bbbc6ab1bba.tar.bz2 |
re PR middle-end/26316 (loop-invariant miscompiles openmp.c)
PR rtl-optimization/26316
* rtlanal.c (enum may_trap_p_flags): New.
(may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore
MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
(may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
(may_trap_after_code_motion_p): New function.
* loop-invariant.c (find_identical_invariants): Fix dump formating.
(find_invariant_insn): Use may_trap_after_code_motion_p.
* rtl.h (may_trap_after_code_motion_p): Declare.
From-SVN: r111397
Diffstat (limited to 'gcc/loop-invariant.c')
-rw-r--r-- | gcc/loop-invariant.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c index 3f8f6e3..553e9fe 100644 --- a/gcc/loop-invariant.c +++ b/gcc/loop-invariant.c @@ -479,7 +479,7 @@ find_identical_invariants (htab_t eq, struct invariant *inv) if (dump_file && inv->eqto != inv->invno) fprintf (dump_file, - "Invariant %d is equivalent to invariant %d.\n ", + "Invariant %d is equivalent to invariant %d.\n", inv->invno, inv->eqto); } @@ -775,7 +775,7 @@ find_invariant_insn (rtx insn, bool always_reached, bool always_executed) return; /* We cannot make trapping insn executed, unless it was executed before. */ - if (may_trap_p (PATTERN (insn)) && !always_reached) + if (may_trap_after_code_motion_p (PATTERN (insn)) && !always_reached) return; depends_on = BITMAP_ALLOC (NULL); |