llvm-6502/lib/Transforms/Utils
Peter Collingbourne 46e11c4c97 Implement categories for special case lists.
A special case list can now specify categories for specific globals,
which can be used to instruct an instrumentation pass to treat certain
functions or global variables in a specific way, such as by omitting
certain aspects of instrumentation while keeping others, or informing
the instrumentation pass that a specific uninstrumentable function
has certain semantics, thus allowing the pass to instrument callers
according to those semantics.

For example, AddressSanitizer now uses the "init" category instead of
global-init prefixes for globals whose initializers should not be
instrumented, but which in all other respects should be instrumented.

The motivating use case is DataFlowSanitizer, which will have a
number of different categories for uninstrumentable functions, such
as "functional" which specifies that a function has pure functional
semantics, or "discard" which indicates that a function's return
value should not be labelled.

Differential Revision: http://llvm-reviews.chandlerc.com/D1092

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185978 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-09 22:03:17 +00:00
..
BasicBlockUtils.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
BreakCriticalEdges.cpp
BuildLibCalls.cpp
BypassSlowDivision.cpp Bypass Slow Divides 2013-03-04 18:13:57 +00:00
CloneFunction.cpp Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00
CloneModule.cpp
CMakeLists.txt Rename BlackList class to SpecialCaseList and move it to Transforms/Utils. 2013-07-09 22:02:49 +00:00
CmpInstAnalysis.cpp
CodeExtractor.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
DemoteRegToStack.cpp [SjLj Prepare] When demoting an invoke instructions to the stack, if the normal 2013-02-05 18:23:10 +00:00
InlineFunction.cpp Fix a use after free. RI is freed before the call to getDebugLoc(). To 2013-04-30 22:45:10 +00:00
InstructionNamer.cpp
IntegerDivision.cpp Enhance integer division emulation support to handle types smaller than 32 bits, 2013-02-26 23:33:20 +00:00
LCSSA.cpp
LLVMBuild.txt
Local.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
LoopSimplify.cpp Rename LoopSimplify.h to LoopUtils.h 2013-05-20 20:46:30 +00:00
LoopUnroll.cpp
LoopUnrollRuntime.cpp
LowerExpectIntrinsic.cpp
LowerInvoke.cpp Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. 2013-06-19 21:07:11 +00:00
LowerSwitch.cpp
Makefile
Mem2Reg.cpp
MetaRenamer.cpp
ModuleUtils.cpp
PromoteMemoryToRegister.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
SimplifyCFG.cpp SimplifyCFG: Teach switch generation some patterns that instcombine forms. 2013-07-04 14:22:02 +00:00
SimplifyIndVar.cpp
SimplifyInstructions.cpp
SimplifyLibCalls.cpp Added support for the Builtin attribute. 2013-06-27 00:25:01 +00:00
SpecialCaseList.cpp Implement categories for special case lists. 2013-07-09 22:03:17 +00:00
SSAUpdater.cpp
UnifyFunctionExitNodes.cpp
Utils.cpp This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
ValueMapper.cpp Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00