llvm-project/llvm/lib/Transforms
David Sherwood 69cccb3189 [SVE] Fix isLoadInvariantInLoop for scalable vectors
I've amended the isLoadInvariantInLoop function to bail out for
scalable vectors for now since the invariant.start intrinsic is only
ever generated by the clang frontend for thread locals or struct
and class constructors, neither of which support sizeless types.
In addition, the intrinsic itself does not currently support the
concept of a scaled size, which makes it impossible to compare
the sizes of different scalable objects, e.g. <vscale x 32 x i8>
and <vscale x 16 x i8>.

Added new tests here:

  Transforms/LICM/AArch64/sve-load-hoist.ll
  Transforms/LICM/hoisting.ll

Differential Revision: https://reviews.llvm.org/D87227
2020-09-15 08:30:19 +01:00
..
AggressiveInstCombine [SVE] Remove calls to VectorType::getNumElements from AggressiveInstCombine 2020-08-14 16:40:34 -07:00
CFGuard [NFCI][IR] Introduce CallBase::Create() wrapper 2020-07-07 01:16:36 +03:00
Coroutines [Coroutine] Make dealing with alloca spills more robust 2020-09-08 10:59:13 -07:00
Hello
HelloNew Reland [docs][NewPM] Add docs for writing NPM passes 2020-09-14 16:06:19 -07:00
IPO [PruneEH][NFC] Use CallGraphUpdater in PruneEH 2020-09-14 14:43:19 -07:00
InstCombine [InstCombine] Simplify select operand based on equality condition 2020-09-14 20:07:06 +02:00
Instrumentation [MemProf] Rename HeapProfiler to MemProfiler for consistency 2020-09-14 13:14:57 -07:00
ObjCARC [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an 2020-08-28 17:45:14 -07:00
Scalar [SVE] Fix isLoadInvariantInLoop for scalable vectors 2020-09-15 08:30:19 +01:00
Utils collectBitParts - use const references. NFCI. 2020-09-14 18:23:00 +01:00
Vectorize [LV][ARM] Add preferInloopReduction target hook. 2020-09-12 17:47:04 +01:00
CMakeLists.txt Reland [docs][NewPM] Add docs for writing NPM passes 2020-09-14 16:06:19 -07:00
LLVMBuild.txt Reland [docs][NewPM] Add docs for writing NPM passes 2020-09-14 16:06:19 -07:00