llvm-project/llvm/lib/Transforms/Utils
Florian Hahn e9cced2739
Recommit "[LAA] Initial support for runtime checks with pointer selects."
This reverts commit 7aa8a67882.

This version includes fixes to address issues uncovered after
the commit landed and discussed at D11448.

Those include:

* Limit select-traversal to selects inside the loop.
* Freeze pointers resulting from looking through selects to avoid
  branch-on-poison.
2022-06-17 21:06:26 +02:00
..
AMDGPUEmitPrintf.cpp [AMDGPU] replace hostcall module flag with function attribute 2022-02-11 22:51:56 +05:30
ASanStackFrameLayout.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
AddDiscriminators.cpp
AssumeBundleBuilder.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
BasicBlockUtils.cpp [BasicBlockUtils] Do not move loop metadata if outer loop header. 2022-05-23 16:39:54 -07:00
BreakCriticalEdges.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
BuildLibCalls.cpp BuildLibCalls: infer allockind attributes on relevant functions 2022-05-31 10:01:17 -04:00
BypassSlowDivision.cpp
CMakeLists.txt [misexpect] Re-implement MisExpect Diagnostics 2022-04-19 21:23:48 +00:00
CallGraphUpdater.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
CallPromotionUtils.cpp [WPD] Extend checking mode to support fallback to indirect call 2022-03-14 10:16:28 -07:00
CanonicalizeAliases.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
CanonicalizeFreezeInLoops.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
CloneFunction.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
CloneModule.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
CodeExtractor.cpp [NFC] Fix Wswitch warning triggered by 735e6c 2022-06-14 14:45:15 +08:00
CodeLayout.cpp Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-04 00:10:42 -07:00
CodeMoverUtils.cpp
CtorUtils.cpp [GlobalOpt] Enable optimization of constructors with different priorities 2022-05-13 22:19:29 +00:00
Debugify.cpp [Debugify] Limit number of processed functions for original mode 2022-04-21 13:58:17 +02:00
DemoteRegToStack.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
EntryExitInstrumenter.cpp
EscapeEnumerator.cpp
Evaluator.cpp [OpaquePtr][GlobalOpt] Don't attempt to evaluate global constructors with arguments 2022-04-27 19:00:44 -07:00
FixIrreducible.cpp [llvm][fix-irreducible] ensure that loop subtree under child is correctly reconnected to new loop 2022-05-18 10:45:52 +01:00
FlattenCFG.cpp
FunctionComparator.cpp [FunctionComparator] Use getAlign() instead of getAlignment() 2021-12-15 14:40:56 -08:00
FunctionImportUtils.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
GlobalStatus.cpp [GlobalStatus] Keep Visited set in isSafeToDestroyConstant() 2022-02-22 10:02:37 +01:00
GuardUtils.cpp
HelloWorld.cpp
InjectTLIMappings.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
InlineFunction.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
InstructionNamer.cpp
IntegerDivision.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
LCSSA.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
LibCallsShrinkWrap.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
Local.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
LoopPeel.cpp [LoopPeel][NFCI] Simplify the code to calculate peel count for PGO 2022-04-26 18:44:24 +04:00
LoopRotationUtils.cpp Pipe potentially invalid InstructionCost through CodeMetrics 2022-06-09 15:17:24 -07:00
LoopSimplify.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
LoopUnroll.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
LoopUnrollAndJam.cpp [iwyu] Handle regressions in libLLVM header include 2022-05-26 08:12:34 +02:00
LoopUnrollRuntime.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
LoopUtils.cpp Recommit "[LAA] Initial support for runtime checks with pointer selects." 2022-06-17 21:06:26 +02:00
LoopVersioning.cpp [PSE] Remove assumption that top level predicate is union from public interface [NFC*] 2022-02-10 16:14:52 -08:00
LowerAtomic.cpp Transforms: Fix code duplication between LowerAtomic and AtomicExpand 2022-04-08 19:06:36 -04:00
LowerGlobalDtors.cpp Reland "Lower `@llvm.global_dtors` using `__cxa_atexit` on MachO" 2022-03-23 18:36:55 -07:00
LowerInvoke.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
LowerMemIntrinsics.cpp Add support for atomic memory copy lowering 2022-04-08 10:41:31 +07:00
LowerSwitch.cpp LowerSwitch: Avoid inserting NewDefault block 2022-04-14 13:30:56 +08:00
MatrixUtils.cpp
Mem2Reg.cpp
MemoryOpRemark.cpp
MemoryTaggingSupport.cpp Cleanup includes: final pass 2022-03-29 09:00:21 +02:00
MetaRenamer.cpp Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
MisExpect.cpp [llvm][misexpect] Avoid division by 0 when using sample profiling 2022-04-22 22:48:00 +00:00
ModuleUtils.cpp [OpenMP] Use new offloading binary when embedding offloading images 2022-04-15 20:35:26 -04:00
NameAnonGlobals.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
PredicateInfo.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
PromoteMemoryToRegister.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
RelLookupTableConverter.cpp [NFC] Rename Instrinsic to Intrinsic 2022-04-25 18:13:23 +01:00
SCCPSolver.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
SSAUpdater.cpp Revert "[MachineSSAUpdater] compile time improvement in GetValueInMiddleOfBlock" 2022-06-14 20:27:21 +07:00
SSAUpdaterBulk.cpp
SampleProfileInference.cpp Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 00:31:44 -07:00
SampleProfileLoaderBaseUtil.cpp Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 00:31:44 -07:00
SanitizerStats.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
ScalarEvolutionExpander.cpp [NFC] format InstructionSimplify & lowerCaseFunctionNames 2022-06-09 16:10:08 +02:00
SimplifyCFG.cpp Prevent crash when TurnSwitchRangeIntoICmp receives default unreachable destination 2022-06-16 16:11:24 +02:00
SimplifyIndVar.cpp [IndVarSimplify] Don't assert that terminator is not SCEVable (PR55925) 2022-06-09 10:12:13 +02:00
SimplifyLibCalls.cpp [InstCombine] Fold memcmp of constant arrays and variable size 2022-06-17 10:35:35 -06:00
SizeOpts.cpp [llvm] Remove unneeded cl::ZeroOrMore for cl::opt options. NFC 2022-06-03 21:59:05 -07:00
SplitModule.cpp
StripGCRelocates.cpp [NFC] Rename Instrinsic to Intrinsic 2022-04-25 18:13:23 +01:00
StripNonLineTableDebugInfo.cpp
SymbolRewriter.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
UnifyFunctionExitNodes.cpp
UnifyLoopExits.cpp Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
Utils.cpp Reland "Lower `@llvm.global_dtors` using `__cxa_atexit` on MachO" 2022-03-23 18:36:55 -07:00
VNCoercion.cpp [NFC][Alignment] Use getAlign in VNCoercion 2022-06-13 15:13:05 +00:00
ValueMapper.cpp [DebugInfo] ValueMapper impl for DIArgList respects IgnoreMissingLocals 2022-01-17 17:17:32 +00:00