llvm-project/llvm/lib/Transforms/Utils
Matt Morehouse e62fc3d0b6 [InstCombine] Disable strcmp->memcmp transform for MSan.
Summary:
The strcmp->memcmp transform can make the resulting memcmp read
uninitialized data, which MSan doesn't like.

Resolves https://github.com/google/sanitizers/issues/993.

Reviewers: eugenis, xbolva00

Reviewed By: eugenis

Subscribers: hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D52272

llvm-svn: 342582
2018-09-19 19:37:24 +00:00
..
ASanStackFrameLayout.cpp [asan] Add a full redzone after every stack variable 2017-11-18 01:13:18 +00:00
AddDiscriminators.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
BasicBlockUtils.cpp [IR] Sink `isExceptional` predicate to `Instruction`, rename it to 2018-08-26 08:56:42 +00:00
BreakCriticalEdges.cpp [MemorySSA] Update MemoryPhi wiring for block splitting to consider if identical edges were merged. 2018-09-07 21:14:48 +00:00
BuildLibCalls.cpp [InstCombine] Don't transform sin/cos -> tanl if for half types 2018-09-19 12:01:38 +00:00
BypassSlowDivision.cpp [BypassSlowDivision] Teach bypass slow division not to interfere with div by constant where constants have been constant hoisted, but not moved from their basic block 2018-08-21 17:15:33 +00:00
CMakeLists.txt [NFC] Move OrderedInstructions and InstructionPrecedenceTracking to Analysis 2018-08-30 04:49:03 +00:00
CallPromotionUtils.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
CloneFunction.cpp [CloneFunction] Constant fold terminators before checking single predecessor 2018-08-28 12:40:11 +00:00
CloneModule.cpp Allow creating llvm::Function in non-zero address spaces 2018-08-23 09:25:17 +00:00
CodeExtractor.cpp [x86/SLH] Add a real Clang flag and LLVM IR attribute for Speculative 2018-09-04 12:38:00 +00:00
CtorUtils.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
DemoteRegToStack.cpp [IR] Replace `isa<TerminatorInst>` with `isTerminator()`. 2018-08-26 09:51:22 +00:00
EntryExitInstrumenter.cpp EntryExitInstrumenter: Handle musttail calls 2018-04-06 10:14:09 +00:00
EscapeEnumerator.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
Evaluator.cpp [IR] Replace `isa<TerminatorInst>` with `isTerminator()`. 2018-08-26 09:51:22 +00:00
FlattenCFG.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
FunctionComparator.cpp Use SmallPtrSet explicitly for SmallSets with pointer types (NFC). 2018-06-12 11:16:56 +00:00
FunctionImportUtils.cpp [ThinLTO] Clear dllimport when setting dso_local. 2018-03-13 15:24:51 +00:00
GlobalStatus.cpp [GlobalOpt] Fix exponential compile-time with selects. 2018-01-31 20:42:25 +00:00
GuardUtils.cpp Revert r340921 "[NFC] Unify guards detection" 2018-08-29 12:21:32 +00:00
ImportedFunctionsInliningStatistics.cpp [Transforms] Change std::sort to llvm::sort in response to r327219 2018-04-13 19:47:57 +00:00
InlineFunction.cpp Enrich inline messages 2018-08-05 14:53:08 +00:00
InstructionNamer.cpp Transforms: Introduce Transforms/Utils.h rather than spreading the declarations amongst Scalar.h and IPO.h 2018-03-28 17:44:36 +00:00
IntegerDivision.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
LCSSA.cpp [DebugInfo][LCSSA] Preserve debug location in lcssa phis 2018-07-31 14:54:52 +00:00
LLVMBuild.txt
LibCallsShrinkWrap.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Local.cpp [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger. 2018-09-19 08:16:56 +00:00
LoopRotationUtils.cpp [IR] Replace `isa<TerminatorInst>` with `isTerminator()`. 2018-08-26 09:51:22 +00:00
LoopSimplify.cpp Update MemorySSA in BasicBlockUtils. 2018-08-21 23:32:03 +00:00
LoopUnroll.cpp Don't create a temporary vector of loop blocks just to iterate over them. 2018-09-10 12:32:06 +00:00
LoopUnrollAndJam.cpp [UnJ] Rename hasInvariantIterationCount to hasIterationCountInvariantInParent NFC 2018-08-15 10:59:41 +00:00
LoopUnrollPeel.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
LoopUnrollRuntime.cpp Update MemorySSA in BasicBlockUtils. 2018-08-21 23:32:03 +00:00
LoopUtils.cpp Break LoopUtils into an Analysis file. 2018-09-12 01:59:43 +00:00
LoopVersioning.cpp [LoopVersioning] Don't modify the list that we iterate over in addPHINodes 2018-05-22 08:33:02 +00:00
LowerInvoke.cpp Support a funclet operand bundle in LowerInvoke 2018-05-09 00:53:50 +00:00
LowerMemIntrinsics.cpp [LowerMemIntrinsics] Update uses of deprecated MemIntrinsic::getAlignment API (NFC) 2018-02-05 22:23:58 +00:00
LowerSwitch.cpp [LowerSwitch] Fixed faulty PHI nodes 2018-07-10 12:06:16 +00:00
Mem2Reg.cpp Transforms: Introduce Transforms/Utils.h rather than spreading the declarations amongst Scalar.h and IPO.h 2018-03-28 17:44:36 +00:00
MetaRenamer.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
ModuleUtils.cpp ModuleUtils: Stop using comdat members to generate unique module ids. 2017-10-05 21:54:53 +00:00
NameAnonGlobals.cpp
PredicateInfo.cpp [NFC] Move OrderedInstructions and InstructionPrecedenceTracking to Analysis 2018-08-30 04:49:03 +00:00
PromoteMemoryToRegister.cpp [IR] Replace `isa<TerminatorInst>` with `isTerminator()`. 2018-08-26 09:51:22 +00:00
SSAUpdater.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
SSAUpdaterBulk.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
SanitizerStats.cpp
SimplifyCFG.cpp [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger. 2018-09-19 08:16:56 +00:00
SimplifyIndVar.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
SimplifyLibCalls.cpp [InstCombine] Disable strcmp->memcmp transform for MSan. 2018-09-19 19:37:24 +00:00
SplitModule.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
StripGCRelocates.cpp Fix a couple of layering violations in Transforms 2018-03-21 22:34:23 +00:00
StripNonLineTableDebugInfo.cpp Fix some layering in StripNonLineTableDebugInfo, moving its declaration from IPO.h to Utils.h to match its implementation 2018-03-29 22:42:08 +00:00
SymbolRewriter.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
UnifyFunctionExitNodes.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
Utils.cpp [instsimplify] Move the instsimplify pass to use more obvious file names 2018-06-29 23:36:03 +00:00
VNCoercion.cpp [GVN] Avoid casting a vector of size less than 8 bits to i8 2018-06-21 21:43:20 +00:00
ValueMapper.cpp Teach ValueMapper to use ODR uniqued types when available 2018-01-30 20:16:32 +00:00