[all-commits] [llvm/llvm-project] 36cf1e: Revert "[AggressiveInstCombine] Generalize foldGua...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Tue Nov 3 22:39:56 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 36cf1e7d0e0e8aaea1f33bfa12d7a285756b75ba
      https://github.com/llvm/llvm-project/commit/36cf1e7d0e0e8aaea1f33bfa12d7a285756b75ba
  Author: Martin Storsjö <martin at martin.st>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/funnel.ll
    M llvm/test/Transforms/AggressiveInstCombine/rotate.ll

  Log Message:
  -----------
  Revert "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts"

This reverts commit 59b22e495c15d2830f41381a327f5d6bf49ff416.

That commit broke building for ARM and AArch64, reproducible like this:

$ 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.

Same thing for e.g. an armv7-linux-gnueabihf target.




More information about the All-commits mailing list