llvm/test/Analysis
Nicolai Haehnle a16ecd4300 [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266347 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-14 17:42:47 +00:00
..
AssumptionCache
BasicAA
BlockFrequencyInfo
BranchProbabilityInfo
CallGraph [CG] Add a new pass manager printer pass for the old call graph and 2016-03-10 11:24:11 +00:00
CFLAliasAnalysis [CFLAA] Fix PR27213; incorrect tagging of args/globals 2016-04-05 21:40:45 +00:00
CostModel Revert "Support arbitrary addrspace pointers in masked load/store intrinsics" 2016-04-14 08:47:17 +00:00
Delinearization
DemandedBits
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