hanchenye-llvm-project/llvm/test/Analysis
Nicolai Haehnle 13d90f324c [DivergenceAnalysis] Treat PHI with incoming undef as constant
Summary:
If a PHI has an incoming undef, we can pretend that it is equal to one
non-undef, non-self incoming value.

This is particularly relevant in combination with the StructurizeCFG
pass, which introduces PHI nodes with undefs. Previously, this lead to
branch conditions that were uniform before StructurizeCFG to become
non-uniform afterwards, which confused the SIAnnotateControlFlow
pass.

This fixes a crash when Mesa radeonsi compiles a shader from
dEQP-GLES3.functional.shaders.switch.switch_in_for_loop_dynamic_vertex

Reviewers: arsenm, tstellarAMD, jingyue

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D19013

llvm-svn: 266347
2016-04-14 17:42:47 +00:00
..
AssumptionCache
BasicAA [PM/AA] Port alias analysis evaluator to the new pass manager, and use 2016-02-20 03:46:03 +00:00
BlockFrequencyInfo
BranchProbabilityInfo
CFLAliasAnalysis [CFLAA] Fix PR27213; incorrect tagging of args/globals 2016-04-05 21:40:45 +00:00
CallGraph [CG] Add a new pass manager printer pass for the old call graph and 2016-03-10 11:24:11 +00:00
CostModel Revert "Support arbitrary addrspace pointers in masked load/store intrinsics" 2016-04-14 08:47:17 +00:00
Delinearization
DemandedBits [DemandedBits] Revert r249687 due to PR26071 2016-02-03 15:05:06 +00:00
DependenceAnalysis [DependenceAnalysis] Check if result of getConstantPart is null 2016-04-04 18:13:18 +00:00
DivergenceAnalysis [DivergenceAnalysis] Treat PHI with incoming undef as constant 2016-04-14 17:42:47 +00:00
DominanceFrontier Another fix the testcase introduced by r261903 - Add the missing matches 2016-02-26 03:41:47 +00:00
Dominators
GlobalsModRef Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
LazyCallGraph [LCG] Spell the printing pass pipeline name for the lazy call graph 2016-03-10 11:24:06 +00:00
Lint
LoopAccessAnalysis [SCEV][LAA] Add tests for SCEV expression transformations performed during LAA 2016-04-14 16:08:45 +00:00
LoopInfo
MemoryDependenceAnalysis
PostDominators Introduce analysis pass to compute PostDominators in the new pass manager. NFC 2016-02-25 17:54:07 +00:00
RegionInfo Introduce RegionInfoAnalysis, which compute Region Tree in the new PassManager. NFC 2016-02-25 17:54:25 +00:00
ScalarEvolution This reverts commit r265913 and r265912 2016-04-11 15:26:18 +00:00
ScopedNoAliasAA [ScopedNoAliasAA] Make test basic.ll less confusing 2016-03-07 17:49:10 +00:00
TypeBasedAliasAnalysis [PM/AA] Wire up TBAA to the new pass manager's registry and test it. 2016-02-20 04:04:52 +00:00
ValueTracking InstCombine: Restrict computeKnownBits() on all Values to OptLevel > 2 2016-03-09 18:47:11 +00:00
alias-analysis-uses.ll Add an "addUsedAAAnalyses" helper function 2016-02-09 01:21:57 +00:00