1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/Transforms
Erik Eckstein 53b2b8eb9b Fix a crash in MergeFunctions related to ordering of weak/strong functions
The assumption, made in insert() that weak functions are always inserted after strong functions,
is only true in the first round of adding functions.
In subsequent rounds this is no longer guaranteed , because we might remove a strong function from the tree (because it's modified) and add it later,
where an equivalent weak function already exists in the tree.
This change removes the assert in insert() and explicitly enforces a weak->strong order.
This also removes the need of two separate loops in runOnModule().

llvm-svn: 271299
2016-05-31 17:20:23 +00:00
..
ADCE [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
AddDiscriminators Revert http://reviews.llvm.org/D19926 as it breaks tests. 2016-05-05 20:47:53 +00:00
AlignmentFromAssumptions
ArgumentPromotion [ArgumentPromotion] Propagate operand bundles to promoted call sites 2016-04-29 04:56:12 +00:00
AtomicExpand ARM: use a pseudo-instruction for cmpxchg at -O0. 2016-04-18 21:48:55 +00:00
BBVectorize [BBVectorize] Don't vectorize selects with a scalar condition and vector operands. 2016-05-26 18:43:57 +00:00
BDCE [PM] Port BDCE to the new pass manager. 2016-05-25 01:57:04 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare [CodeGenPrepare] Don't sink a cast past its user 2016-04-27 19:36:38 +00:00
ConstantHoisting ARM: don't try to hoist constant RHS out of a division. 2016-04-15 18:17:18 +00:00
ConstantMerge [PM] Port ConstantMerge to the new pass manager. 2016-05-05 00:51:09 +00:00
ConstProp Revert "[SCCP] Partially propagate informations when the input is not fully defined." 2016-05-11 23:06:10 +00:00
CorrelatedValuePropagation Remove extra whitespace. NFC. 2016-05-02 16:45:00 +00:00
CrossDSOCFI
DCE Mark guards on true as "trivially dead" 2016-04-29 22:23:16 +00:00
DeadArgElim [IR] Copy comdats in GlobalObject::copyAttributesFrom 2016-05-25 18:36:22 +00:00
DeadStoreElimination [PM] Port DSE to the new pass manager 2016-05-17 21:38:13 +00:00
EarlyCSE [EarlyCSE] Simplify guard intrinsics 2016-04-29 21:52:58 +00:00
EliminateAvailableExternally [PM] Port EliminateAvailableExternally pass to the new pass manager. 2016-05-05 02:37:32 +00:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs [CaptureTracking] Volatile operations capture their memory location 2016-05-26 17:36:22 +00:00
FunctionImport ThinLTO: do not import function whose linkage prevents inlining. 2016-05-03 00:27:28 +00:00
GCOVProfiling DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
GlobalDCE [GlobalDCE, Misc] Don't remove functions referenced by ifuncs 2016-05-04 00:20:48 +00:00
GlobalMerge CodeGen: Make the global-merge pass independently testable, and add a test. 2016-05-19 04:38:56 +00:00
GlobalOpt Make "@name =" mandatory for globals in .ll files. 2016-05-10 18:22:45 +00:00
GuardWidening [GuardWidening] Fix incorrect use of remove_if 2016-05-21 02:24:44 +00:00
GVN [GVN] Preserve !range metadata when PRE'ing loads 2016-05-27 19:03:10 +00:00
IndVarSimplify [IndVars] Eliminate op.with.overflow when possible (re-apply) 2016-05-29 00:36:25 +00:00
InferFunctionAttrs [TLI] Also cover Linux 64 libfunc (stat64, ...) prototype checking. 2016-05-25 21:16:33 +00:00
Inline Allow -inline-threshold to override default threshold. 2016-05-19 23:02:09 +00:00
InstCombine [X86][SSE] (Reapplied) Replace (V)PMOVSX and (V)PMOVZX integer extension intrinsics with generic IR (llvm) 2016-05-28 18:03:41 +00:00
InstMerge [MergedLoadStoreMotion] Don't transform across may-throw calls 2016-05-26 07:11:09 +00:00
InstSimplify [ValueTracking, InstSimplify] extend isKnownNonZero() to handle vector constants 2016-05-24 14:18:49 +00:00
Internalize PM: Port Internalize to the new pass manager 2016-04-26 20:15:52 +00:00
IPConstantProp [PM] Port Interprocedural SCCP to the new pass manager. 2016-05-05 21:05:36 +00:00
IRCE [IRCE] Optimize conjunctions of range checks 2016-05-26 00:09:02 +00:00
JumpThreading [ValueTracking] Improve isImpliedCondition when the dominating cond is false. 2016-04-25 17:23:36 +00:00
LCSSA
LICM MemorySSA: Revert r269678 and r268068; replace with special casing in MemorySSA. 2016-05-26 04:58:46 +00:00
LoadCombine
LoopDataPrefetch [LoopDataPrefetch] Add optimization remark 2016-05-05 00:08:15 +00:00
LoopDeletion Use all_of instead of a raw loop; NFC 2016-05-03 17:50:06 +00:00
LoopDistribute [LoopDist] Add missing RUN line in test from r268006 2016-04-29 07:16:00 +00:00
LoopIdiom AMDGPU: Other sizes of popcnt are fast 2016-05-18 16:10:19 +00:00
LoopInterchange
LoopLoadElim
LoopReroll Enable loopreroll for sext of loop control only IV 2016-05-10 21:16:49 +00:00
LoopRotate LPM: Drop require<loops> from these tests, it's redundant. NFC 2016-05-10 18:28:10 +00:00
LoopSimplify [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
LoopSimplifyCFG LPM: Drop require<loops> from these tests, it's redundant. NFC 2016-05-10 18:28:10 +00:00
LoopStrengthReduce AMDGPU: Fix a few slightly broken tests 2016-05-18 15:48:44 +00:00
LoopUnroll The patch refactors unroll pass. 2016-05-27 23:15:06 +00:00
LoopUnswitch
LoopVectorize Move test to X86 directory: I think it depends on X86 TTI. 2016-05-27 16:56:54 +00:00
LoopVersioning
LoopVersioningLICM [LoopVersioningLICM] Add test coverage for llvm.loop.licm_versioning.disable 2016-04-22 18:34:50 +00:00
LowerAtomic [PM] Port LowerAtomic to the new pass manager. 2016-05-13 22:52:35 +00:00
LowerBitSets [cfi] Support explicit sections for functions in cfi-icall. 2016-04-15 22:55:38 +00:00
LowerExpectIntrinsic [LowerExpectIntrinsic] make default likely/unlikely ratio bigger 2016-04-26 22:23:38 +00:00
LowerGuardIntrinsic [Guards] Add branch metadata when lowering 2016-05-17 17:51:19 +00:00
LowerInvoke
LowerSwitch
Mem2Reg [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
MemCpyOpt [MemCpyOpt] Don't perform callslot optimization across may-throw calls 2016-05-26 19:24:24 +00:00
MergeFunc Fix a crash in MergeFunctions related to ordering of weak/strong functions 2016-05-31 17:20:23 +00:00
MetaRenamer
NameAnonFunctions
NaryReassociate
ObjCARC Form objc_storeStrong in the presence of bitcasts. 2016-05-27 02:13:53 +00:00
PartiallyInlineLibCalls [PM] Port PartiallyInlineLibCalls to the new pass manager. 2016-05-25 23:38:53 +00:00
PGOProfile Bring back r271090 in a way that doesn't depend on r271089. 2016-05-28 04:05:36 +00:00
PhaseOrdering Mark that SpeculativeExecution preserves Globals Alias Analysis. 2016-05-03 08:33:26 +00:00
PlaceSafepoints
PreISelIntrinsicLowering Introduce llvm.load.relative intrinsic. 2016-04-22 21:18:02 +00:00
PruneEH
Reassociate PM: Port Reassociate to the new pass manager 2016-04-26 23:39:29 +00:00
Reg2Mem
RewriteStatepointsForGC [RewriteStatepointsForGC] All constant should have null base pointer 2016-05-27 13:13:59 +00:00
SafeStack DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
SampleProfile [PM] Port the Sample FDO to new PM (part-2) 2016-05-27 23:20:16 +00:00
Scalarizer [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
ScalarRepl [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
SCCP [PM] Port per-function SCCP to the new pass manager. 2016-05-18 15:18:25 +00:00
SeparateConstOffsetFromGEP
SimplifyCFG [SimplifyCFG] Remove cleanuppads which are empty except for calls to lifetime.end 2016-05-21 05:12:32 +00:00
Sink PM: Port SinkingPass to the new pass manager 2016-04-22 19:54:10 +00:00
SLPVectorizer [SLPVectorizer][X86] Regenerated SEXT/ZEXT cast vectorization tests 2016-05-06 22:22:18 +00:00
SpeculativeExecution
SROA [SROA] Function canConvertValue needs to check whether both NewTy and OldTy pointers are 2016-05-03 19:30:48 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols Refactor stripDebugInfo(Function) to handle intrinsic 2016-05-07 04:10:52 +00:00
StructurizeCFG
TailCallElim
Util MemorySSA: Revert r269678 and r268068; replace with special casing in MemorySSA. 2016-05-26 04:58:46 +00:00
WholeProgramDevirt