llvm-project/llvm/test/Transforms/AggressiveInstCombine
Martin Storsjö 36cf1e7d0e Revert "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts"
This reverts commit 59b22e495c.

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.
2020-11-04 08:39:32 +02:00
..
funnel.ll Revert "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts" 2020-11-04 08:39:32 +02:00
masked-cmp.ll [AggressiveInstCombine] foldAnyOrAllBitsSet - add uniform vector support 2020-10-15 11:02:35 +01:00
popcount.ll
rotate.ll Revert "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts" 2020-11-04 08:39:32 +02:00
trunc_const_expr.ll
trunc_multi_uses.ll
trunc_select.ll [AggressiveInstCombine] Add support for select instruction. 2020-02-12 13:59:34 +02:00
trunc_select_cmp.ll [AggressiveInstCombine] Add test with baseline CHECKs for aggressive inst combine for ICmp instruction. 2020-02-12 15:09:38 +02:00
trunc_unreachable_bb.ll