llvm-project/llvm/test/Transforms
Vedant Kumar a9906c1e5e [MergeFunc] Prevent silent miscompile of vararg functions
The function merging pass miscompiles identical vararg functions. The
forwarding thunk it emits doesn't forward the full variable-length list
of arguments. Disable merging for vararg functions for now.

I've filed llvm.org/PR40345 to track the issue.

rdar://47326238

llvm-svn: 351411
2019-01-17 02:15:05 +00:00
..
ADCE Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
AddDiscriminators treat invoke like call 2019-01-15 21:26:51 +00:00
AggressiveInstCombine [AggressiveInstCombine] convert rotate with guard branch into funnel shift (PR34924) 2018-12-17 21:14:51 +00:00
AlignmentFromAssumptions
ArgumentPromotion Only promote args when function attributes are compatible 2019-01-16 05:15:31 +00:00
AtomicExpand AMDGPU: Expand atomicrmw nand in IR 2018-10-02 03:50:56 +00:00
BDCE [BDCE] Remove dead uses of arguments 2019-01-04 21:21:43 +00:00
BlockExtractor [hot-cold-split] Name split functions with ".cold" suffix 2018-10-24 18:53:47 +00:00
BranchFolding
CallSiteSplitting [CallSiteSplitting] Report edge deletion to DomTreeUpdater 2018-11-29 15:27:04 +00:00
CalledValuePropagation
CanonicalizeAliases [ThinLTO] Handle chains of aliases 2019-01-04 19:04:54 +00:00
CodeExtractor [CodeExtractor] Do not extract unsafe lifetime markers 2019-01-04 17:43:22 +00:00
CodeGenPrepare Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
ConstProp [ConstantFolding] Fold undef for integer intrinsics 2019-01-11 21:18:00 +00:00
ConstantHoisting X86/TargetTransformInfo: Report div/rem constant immediate costs as TCC_Free 2018-10-11 23:14:35 +00:00
ConstantMerge
Coroutines Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
CorrelatedValuePropagation [test] Add a set of test for constant folding deopt operands with CVP 2018-12-13 00:54:05 +00:00
CrossDSOCFI
DCE
DeadArgElim [IPO][AVR] Create new Functions in the default address space specified in the data layout 2018-12-18 09:52:52 +00:00
DeadStoreElimination [BasicAA] Don't assume tail calls with byval don't alias allocas 2018-08-14 01:24:35 +00:00
DivRemPairs
EarlyCSE [EarlyCSE] If DI can't be salvaged, mark it as unavailable. 2018-12-17 01:42:39 +00:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp/X86 Re-land r349731 "[CodeGen][ExpandMemcmp] Add an option for allowing overlapping loads. 2018-12-20 13:01:04 +00:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs [FuncAttrs] Remove "access range attributes" for read-none functions 2018-09-11 11:51:29 +00:00
FunctionImport [ThinLTO] Allow importing of functions with var args 2018-12-01 05:11:46 +00:00
GCOVProfiling [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
GVN [GVN] Don't perform scalar PRE on GEPs 2018-12-06 16:11:58 +00:00
GVNHoist [MemorySSAUpdater] Avoid creating self-referencing MemoryDefs 2018-09-11 14:29:59 +00:00
GVNSink [Local] Make DoesKMove required for combineMetadata. 2018-08-24 11:40:04 +00:00
GlobalDCE GlobalDCE: Teach isEmptyFunction() to ignore debug intrinsics. 2018-11-16 17:47:21 +00:00
GlobalMerge [GlobalMerge] Allow merging globals with explicit section markings. 2018-08-02 23:54:16 +00:00
GlobalOpt [DebugInfo][GlobalOpt] Fix -debugify for globalopt shrinking globals to booleans. 2018-10-23 16:35:51 +00:00
GlobalSplit
GuardWidening [GuardWidening] Ignore guards with trivial conditions 2018-08-22 02:40:49 +00:00
HotColdSplit [CodeExtractor] Do not extract unsafe lifetime markers 2019-01-04 17:43:22 +00:00
IPConstantProp Recommit r333268: [IPSCCP] Use PredicateInfo to propagate facts from cmp instructions. 2018-08-23 11:04:00 +00:00
IRCE [NFC] Remove obsolete enum RangeCheckKind 2019-01-15 10:48:45 +00:00
IndVarSimplify Return "[IndVars] Smart hard uses detection" 2018-11-08 11:54:35 +00:00
IndirectBrExpand
InferAddressSpaces AMDGPU: Fix tests using old number for constant address space 2018-09-10 02:54:25 +00:00
InferFunctionAttrs Allow norecurse attribute on functions that have debug infos. 2018-12-05 16:48:00 +00:00
Inline [Inliner] Assert that the computed inline threshold is non-negative. 2019-01-09 19:26:17 +00:00
InstCombine [InstCombine]Avoid introduction of unaligned mem access 2019-01-16 04:36:26 +00:00
InstMerge [DebugInfo][InstMerge] Fix -debugify for phi node created by -mldst-motion 2018-11-02 18:25:41 +00:00
InstNamer
InstSimplify [ConstantFolding] Consolidate and extend bitcount intrinsic tests; NFC 2018-12-20 19:46:52 +00:00
InterleavedAccess
Internalize
JumpThreading [Jump Threading] Unfold a select insn that feeds a switch via a phi node 2019-01-11 15:52:57 +00:00
LCSSA [EH] Rename llvm.x86.seh.recoverfp intrinsic to llvm.eh.recoverfp 2019-01-16 00:37:13 +00:00
LICM Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
LoadStoreVectorizer [PM] Port LoadStoreVectorizer to the new pass manager. 2018-12-07 08:23:37 +00:00
LoopDataPrefetch
LoopDeletion Fix RUN line in test/Transforms/LoopDeletion/crashbc.ll 2019-01-10 09:58:23 +00:00
LoopDistribute [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopIdiom [LoopIdiomRecognize] Add CTTZ support 2018-12-26 21:59:48 +00:00
LoopInstSimplify Update MemorySSA in LoopInstSimplify. 2018-08-22 20:05:21 +00:00
LoopInterchange [LoopInterchange] Support reductions across inner and outer loop. 2018-11-08 20:44:19 +00:00
LoopLoadElim
LoopPredication
LoopReroll Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
LoopRotate Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
LoopSimplify Revert r346810 "Preserve loop metadata when splitting exit blocks" 2018-11-14 01:47:32 +00:00
LoopSimplifyCFG [NFC] Add failing test on LCSSA form preservation of LoopSimplifyCFG 2018-12-28 10:43:37 +00:00
LoopStrengthReduce [LoopStrengthReduce] ComplexityLimit as an option 2018-11-29 08:34:22 +00:00
LoopTransformWarning [TransformWarning] Do not warn missed transformations in optnone functions. 2018-12-14 19:45:43 +00:00
LoopUnroll [UnrollRuntime] Fix domTree failures in multiexit unrolling 2019-01-08 17:16:25 +00:00
LoopUnrollAndJam [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopUnswitch Update MemorySSA in LoopUnswitch. 2018-09-11 19:19:21 +00:00
LoopVectorize [LoopVectorizer] give more advice in remark about failure to vectorize call 2019-01-12 15:27:15 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests
MakeGuardsExplicit Introduce llvm.experimental.widenable_condition intrinsic 2018-12-07 14:39:46 +00:00
Mem2Reg [Mem2Reg] Fix nondeterministic corner case 2018-11-30 19:20:02 +00:00
MemCpyOpt [BasicAA] Fix AA bug on dynamic allocas and stackrestore 2018-12-21 19:59:03 +00:00
MergeFunc [MergeFunc] Prevent silent miscompile of vararg functions 2019-01-17 02:15:05 +00:00
MergeICmps [MergeICmps] Do not perform the transformation if GEP is used outside of block 2018-11-05 18:16:32 +00:00
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
ObjCARC Teach ObjCARC optimizer about equivalent PHIs when eliminating autoreleaseRV/retainRV pairs 2019-01-03 01:38:08 +00:00
PGOProfile [PGO] Make pgo related options in opt more consistent. 2019-01-16 23:19:02 +00:00
PartiallyInlineLibCalls
PhaseOrdering [InstCombine] canonicalize raw IR rotate patterns to funnel shift 2019-01-01 21:51:39 +00:00
PlaceSafepoints
PreISelIntrinsicLowering Preserve the linkage for objc* intrinsics as clang will set them to weak_external in some cases 2018-12-18 22:42:08 +00:00
PruneEH [Transforms] Preserve metadata when converting invoke to call. 2018-12-14 18:15:11 +00:00
Reassociate [PatternMatch] Handle undef vectors consistently 2018-11-20 16:08:19 +00:00
Reg2Mem
RewriteStatepointsForGC
SCCP [ConstantFold] Use getMinSignedBits for APInt in isIndexInRangeOfArrayType. 2018-12-12 18:55:14 +00:00
SLPVectorizer [SLP] Fix PR40310: The reduction nodes should stay scalar. 2019-01-16 15:39:52 +00:00
SROA Assertion in isAllocaPromotable due to extra bitcast goes into lifetime marker 2019-01-16 12:06:17 +00:00
SafeStack SafeStack: Prevent OOB reads with mem intrinsics 2018-08-30 20:44:51 +00:00
SampleProfile [PGO] Make pgo related options in opt more consistent. 2019-01-16 23:19:02 +00:00
ScalarizeMaskedMemIntrin/X86 [ScalarizeMaskedMemIntrin] Use MinAlign to calculate alignment for the scalar load/stores to handle element types that are byte-sized but not powers of 2. 2018-09-28 03:35:37 +00:00
Scalarizer Introduce llvm.loop.parallel_accesses and llvm.access.group metadata. 2018-12-20 04:58:07 +00:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch Update MemorySSA in SimpleLoopUnswitch. 2018-12-04 14:23:37 +00:00
SimplifyCFG Introduce llvm.loop.parallel_accesses and llvm.access.group metadata. 2018-12-20 04:58:07 +00:00
Sink
SpeculateAroundPHIs
SpeculativeExecution
StraightLineStrengthReduce [SLSR] use 'match' to simplify code; NFC 2018-10-23 14:07:39 +00:00
StripDeadPrototypes
StripSymbols
StructurizeCFG StructurizeCFG: Simplify inserted PHI nodes 2018-10-17 15:37:41 +00:00
SyntheticCountsPropagation
TailCallElim [TailCallElim] Enable marking of calls with byval as tails 2018-10-08 18:03:40 +00:00
ThinLTOBitcodeWriter [LTO] Record whether LTOUnit splitting is enabled in index 2019-01-11 18:31:57 +00:00
Util Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
WholeProgramDevirt [ThinLTO] Efficiency fix for writing type id records in per-module indexes 2018-09-25 20:14:40 +00:00