1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/Transforms/NewGVN
Sam Elliott e9e58e405f Keep Optimization Remark Yaml in NewPM
Summary:
The New Pass Manager infrastructure was forgetting to keep around the optimization remark yaml file that the compiler might have been producing. This meant setting the option to '-' for stdout worked, but setting it to a filename didn't give file output (presumably it was deleted because compilation didn't explicitly keep it). This change just ensures that the file is kept if compilation succeeds.

So far I have updated one of the optimization remark output tests to add a version with the new pass manager. It is my intention for this patch to also include changes to all tests that use `-opt-remark-output=` but I wanted to get the code patch ready for review while I was making all those changes.

Fixes https://bugs.llvm.org/show_bug.cgi?id=33951

Reviewers: anemet, chandlerc

Reviewed By: anemet, chandlerc

Subscribers: javed.absar, chandlerc, fhahn, llvm-commits

Differential Revision: https://reviews.llvm.org/D36906

llvm-svn: 311271
2017-08-20 01:30:45 +00:00
..
2007-07-25-DominatedLoop.ll
2007-07-25-InfiniteLoop.ll
2007-07-25-Loop.ll
2007-07-25-NestedLoop.ll
2007-07-25-SinglePredecessor.ll
2007-07-26-InterlockingLoops.ll
2007-07-26-NonRedundant.ll
2007-07-26-PhiErasure.ll NewGVN: Update a number of xfailed tests to either be correct or note 2017-02-12 23:28:06 +00:00
2007-07-30-PredIDom.ll
2007-07-31-NoDomInherit.ll
2007-07-31-RedundantPhi.ll
2008-02-12-UndefLoad.ll
2008-02-13-NewPHI.ll
2008-07-02-Unreachable.ll
2008-12-09-SelfRemove.ll Revert "NewGVN: Make unreachable blocks be marked with unreachable" 2017-01-30 17:06:55 +00:00
2008-12-12-RLE-Crash.ll
2008-12-14-rle-reanalyze.ll
2008-12-15-CacheVisited.ll
2009-01-21-SortInvalidation.ll
2009-01-22-SortInvalidation.ll
2009-03-10-PREOnVoid.ll
2009-07-13-MemDepSortFail.ll
2009-11-12-MemDepMallocBitCast.ll
2010-03-31-RedundantPHIs.ll
2010-05-08-OneBit.ll
2010-11-13-Simplify.ll
2011-04-27-phioperands.ll
2011-07-07-MatchIntrinsicExtract.ll NewGVN: We were not really failing this testcase, because the instructions it was looking for are unused. GVN value numbers unused instructions, NewGVN does not. Fix the instructions to be used, so we eliminate the redundancies it's checking for, and un-XFAIL it 2017-03-06 20:01:31 +00:00
2011-09-07-TypeIdFor.ll
2012-05-22-PreCrash.ll
2016-08-30-MaskedScatterGather.ll Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
assume-equal.ll [Devirtualization] MemDep returns non-local !invariant.group dependencies 2017-01-12 11:33:58 +00:00
basic-cyclic-opt.ll NewGVN: Clean up how we handle the INITIAL class so that everything in 2017-02-11 12:48:50 +00:00
basic-undef-test.ll
basic.ll [NewGVN] Change test to reflect difference between GVN and NewGVN. 2016-12-26 18:10:09 +00:00
big-endian.ll
bitcast-of-call.ll NewGVN: Update a number of xfailed tests to either be correct or note 2017-02-12 23:28:06 +00:00
br-identical.ll
calloc-load-removal.ll NewGVN: Handle coercion of constant stores, loads, memory insts. 2017-04-02 13:23:44 +00:00
calls-nonlocal.ll NewGVN: Update a number of xfailed tests to either be correct or note 2017-02-12 23:28:06 +00:00
calls-readonly.ll
commute.ll
completeness.ll [NewGVN] Add CL option to control the generation of phi-of-ops (disable by default). 2017-08-10 14:12:57 +00:00
cond_br2.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
cond_br.ll
condprop-xfail.ll Add missing condprop-xfail.ll that contains the remaining xfail'd tests 2017-03-14 01:46:51 +00:00
condprop.ll PredicateInfo: Support switch statements 2017-02-22 22:20:58 +00:00
crash-no-aa.ll
crash.ll
cyclic-phi-handling.ll NewGVN: Fix PR 31501. 2017-01-07 00:01:42 +00:00
dbg-redundant-load.ll
deadstore.ll NewGVN: Add basic dead and redundant store elimination 2017-01-27 02:37:11 +00:00
debugloc.ll Do not propagate DebugLoc across basic blocks 2017-01-31 20:57:13 +00:00
edge.ll PredicateInfo: Support switch statements 2017-02-22 22:20:58 +00:00
equivalent-phi.ll NewGVN: Add a test case for equivalent phis. 2017-01-02 19:55:13 +00:00
fence.ll [AliasAnalysis] Fences do not modify constant memory location 2017-01-20 00:21:33 +00:00
flags.ll NewGVN: Apply the fast math flags fix in r267113 to NewGVN as well. 2017-02-12 22:25:20 +00:00
fold-const-expr.ll [NewGVN] Now that load coercion is enable, we pass this test. 2017-08-02 19:47:37 +00:00
fpmath.ll
funclet.ll
invariant.group.ll [Devirtualization] MemDep returns non-local !invariant.group dependencies 2017-01-12 11:33:58 +00:00
invariant.start.ll
lifetime-simple.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
load-constant-mem.ll NewGVN: Rewrite DCE during elimination so we do it as well as old GVN did. 2017-03-10 00:32:33 +00:00
load-from-unreachable-predecessor.ll
loadforward.ll [InstSimplify] Constant fold the new GEP in SimplifyGEPInst. 2017-06-06 10:17:14 +00:00
malloc-load-removal.ll NewGVN: Handle coercion of constant stores, loads, memory insts. 2017-04-02 13:23:44 +00:00
MemdepMiscompile.ll
memory-handling.ll NewGVN: Make sure we properly lookup operand leaders while creating 2017-01-07 16:55:14 +00:00
no_speculative_loads_with_asan.ll
noalias.ll
non-integral-pointers.ll [GVN] Don't coerce non-integral pointers to integers or vice versa 2017-04-19 18:21:09 +00:00
non-local-offset.ll
nonescaping-malloc.ll
null-aliases-nothing.ll
opt-remarks.ll Keep Optimization Remark Yaml in NewPM 2017-08-20 01:30:45 +00:00
phi-edge-handling.ll NewGVN: Fix PHI evaluation bug exposed by new verifier. We were checking whether the incoming block was reachable instead of whether the specific edge was reachable 2017-03-18 15:41:36 +00:00
phi-translate-partial-alias.ll
pr10820.ll NewGVN: Update a number of xfailed tests to either be correct or note 2017-02-12 23:28:06 +00:00
pr12979.ll
pr14166.ll NewGVN: Update a number of xfailed tests to either be correct or note 2017-02-12 23:28:06 +00:00
pr17732.ll NewGVN: Handle coercion of constant stores, loads, memory insts. 2017-04-02 13:23:44 +00:00
pr17852.ll
pr24397.ll
pr24426.ll
pr25440.ll
pr28562.ll
pr31472.ll Don't use our own incorrect version of isTriviallyDeadInstruction in NewGVN. Fixes PR/31472 2016-12-26 18:44:36 +00:00
pr31483.ll NewGVN: Add forgotten testcase for PR 31483 2017-01-02 19:49:20 +00:00
pr31491.ll NewGVN: Fix PR 31491 by ensuring that we touch the right instructions. Change to one based numbering so we can assert we don't cause the same bug again. 2016-12-29 22:15:12 +00:00
pr31501.ll NewGVN: Fix PR 31501. 2017-01-07 00:01:42 +00:00
pr31573.ll NewGVN: Fix PR 31573, a failure to verify memory congruency due to 2017-01-09 05:34:29 +00:00
pr31594.ll NewGVN: Instead of changeToUnreachable, insert an instruction SimplifyCFG will turn into unreachable when it runs 2017-01-30 18:12:56 +00:00
pr31613.ll NewGVN: This patch makes memory congruence work for all types of 2017-04-06 18:52:50 +00:00
pr31682.ll NewGVN: Rewrite DCE during elimination so we do it as well as old GVN did. 2017-03-10 00:32:33 +00:00
pr31758.ll NewGVN: Rewrite DCE during elimination so we do it as well as old GVN did. 2017-03-10 00:32:33 +00:00
pr32403.ll NewGVN: Fix PR/33187. This is a bug caused by two things: 2017-06-06 17:15:28 +00:00
pr32607.ll NewGVN: Don't propagate over phi backedges where undef causes us to 2017-04-14 02:53:37 +00:00
pr32836.ll [NewGVN] Update additionalUsers when we simplify to a value. 2017-05-24 02:30:24 +00:00
pr32838.ll NewGVN: Fix PR32838. 2017-05-19 20:22:20 +00:00
pr32845.ll [NewGVN] Actually check the NewGVN output. 2017-05-21 20:55:53 +00:00
pr32852.ll [NewGVN] Don't derive incorrect implications. 2017-05-01 22:26:28 +00:00
pr32897.ll NewGVN: Fix PR/33187. This is a bug caused by two things: 2017-06-06 17:15:28 +00:00
pr32934.ll [NewGVN] Re-enable test now that the nondeterminism has been fixed. 2017-05-16 22:27:06 +00:00
pr32945.ll [NewGVN] Replace predicate info leftovers. 2017-05-18 21:43:23 +00:00
pr32952.ll [NewGVN] Fix a consistent order for phi nodes operands. 2017-05-09 16:58:28 +00:00
pr33014.ll [NewGVN] Break infinite recursion in singleReachablePHIPath(). 2017-05-18 23:22:44 +00:00
pr33086.ll [NewGVN] Delete the old store when we find congruent to a load. 2017-05-19 04:06:10 +00:00
pr33116.ll NewGVN: Fix PR 33116, the memoryphi version of bug 32838. 2017-05-21 23:41:58 +00:00
pr33185.ll NewGVN: Fix PR 33185 by checking whether we need to recursively 2017-05-31 01:47:32 +00:00
pr33187.ll NewGVN: Fix PR/33187. This is a bug caused by two things: 2017-06-06 17:15:28 +00:00
pr33196.ll [NewGVN] Fix the case where we have a phi-of-ops which goes away. 2017-08-03 21:17:49 +00:00
pr33461.ll [NewGVN] Add CL option to control the generation of phi-of-ops (disable by default). 2017-08-10 14:12:57 +00:00
pr33720.ll [NewGVN] Check for congruency of memory accesses. 2017-07-11 19:49:12 +00:00
pre-compare.ll
pre-new-inst.ll
predicates.ll NewGVN: Start making use of predicateinfo pass. 2017-02-18 23:06:50 +00:00
propagate-ir-flags.ll NewGVN: Fix PR 31686 and PR 31698 by rewriting store leader handling. 2017-01-20 21:04:30 +00:00
range.ll
readattrs.ll [BasicAA] Take attributes into account when requesting modref info for a call site 2017-03-01 13:19:51 +00:00
refine-stores.ll NewGVN: This patch makes memory congruence work for all types of 2017-04-06 18:52:50 +00:00
rle-must-alias.ll
rle-no-phi-translate.ll
rle-nonlocal.ll NewGVN: We pass rle-nonlocal, we just perform the replacement in a way that keeps the old name instead of the new one 2017-03-13 22:43:30 +00:00
rle.ll NewGVN: Handle coercion of constant stores, loads, memory insts. 2017-04-02 13:23:44 +00:00
stale-loop-info.ll
storeoverstore.ll [NewGVN] Add CL option to control the generation of phi-of-ops (disable by default). 2017-08-10 14:12:57 +00:00
tbaa.ll NewGVN: Rewrite DCE during elimination so we do it as well as old GVN did. 2017-03-10 00:32:33 +00:00
unreachable_block_infinite_loop.ll
verify-memoryphi.ll [NewGVN] Fix verification of MemoryPhis in verifyMemoryCongruency(). 2017-05-15 18:50:53 +00:00
volatile-nonvolatile.ll AliasAnalysis: Be less conservative about volatile than atomic. 2017-04-07 01:28:36 +00:00