diff options
author | 2013-06-06 21:14:14 +0000 | |
---|---|---|
committer | 2013-06-06 21:14:14 +0000 | |
commit | 9bb4e7eb2175c8f4f5e2297b43a8e354d98b70d4 (patch) | |
tree | 80c07bcade89e1f8aeb2d46e943c3b3293e67180 | |
parent | tweak previous; (diff) | |
download | wireguard-openbsd-9bb4e7eb2175c8f4f5e2297b43a8e354d98b70d4.tar.xz wireguard-openbsd-9bb4e7eb2175c8f4f5e2297b43a8e354d98b70d4.zip |
Disable a broken optimization in try_combine(); GCC PR #34628.
The PR comes with a real fix, but it is covered by the GPL v3, and is
neither trivial nor straightforward, so use a hammer and disable the
unreliable code.
Verified to fix bogus code generation on macppc.
-rw-r--r-- | gnu/gcc/gcc/combine.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gnu/gcc/gcc/combine.c b/gnu/gcc/gcc/combine.c index c5655ea4038..7ab118801a1 100644 --- a/gnu/gcc/gcc/combine.c +++ b/gnu/gcc/gcc/combine.c @@ -2374,8 +2374,10 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) above (see detailed comments there) that ensures that I1DEST isn't mentioned in any SETs in NEWPAT that are field assignments. */ +#if !defined(OPENBSD_NATIVE) && !defined(OPENBSD_CROSS) /* GCC PR #34628 */ if (! combinable_i3pat (NULL_RTX, &newpat, i1dest, NULL_RTX, 0, (rtx*) 0)) +#endif { undo_all (); return 0; |