[llvm-bugs] [Bug 48068] New: "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts" broke ARM/AArch64 targets

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Nov 4 00:21:35 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=48068

            Bug ID: 48068
           Summary: "[AggressiveInstCombine] Generalize
                    foldGuardedRotateToFunnelShift to generic funnel
                    shifts" broke ARM/AArch64 targets
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Transformation Utilities
          Assignee: unassignedbugs at nondot.org
          Reporter: martin at martin.st
                CC: llvm-bugs at lists.llvm.org, llvm-dev at redking.me.uk

Since "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to
generic funnel shifts", git commit 59b22e495c15d2830f41381a327f5d6bf49ff416,
the following reduced test case errors triggers asserts during compilation:

$ cat apedec-reduced.c
a;
b(e) {

int c;
unsigned d = f();
c = d >> 32 - e;
return c;
}
g() {

int h = i();
if (a)
  h = h << a | b(a);
return h;
}
$ clang -target aarch64-linux-gnu -w -c -O3 apedec-reduced.c
clang: ../lib/Transforms/InstCombine/InstructionCombining.cpp:3656: bool
llvm::InstCombinerImpl::run(): Assertion `DT.dominates(BB, UserParent) &&
"Dominance relation broken?"' failed.

The same happens with e.g. an armv7-linux-gnueabihf target.

The problematic commit was reverted in
36cf1e7d0e0e8aaea1f33bfa12d7a285756b75ba.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201104/a7201e68/attachment.html>


More information about the llvm-bugs mailing list