mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[test][NewPM] Make dead-uses.ll work under NPM
This one is weird... globals-aa needs to be already computed at licm, or else a function pass can't run a module analysis and won't have access to globals-aa. But the globals-aa result is impacted by instcombine in a way that affects what the test is expecting. If globals-aa is computed before instcombine, it is cached and globals-aa used in licm won't contain the necessary info provided by instcombine. Another catch is that if we don't invalidate AAManager, it will use the cached AAManager that instcombine requested, which may not contain globals-aa. So we have to invalidate<aa> so that licm can recompute an AAManager with the globals-aa created by the require<globals-aa>. This is essentially the problem described in https://reviews.llvm.org/D84259. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D88118
This commit is contained in:
parent
3e4d5e877b
commit
846976cef1
@ -1,4 +1,5 @@
|
||||
; RUN: opt < %s -instcombine -globals-aa -licm -S | FileCheck %s
|
||||
; RUN: opt < %s -instcombine -globals-aa -licm -enable-new-pm=0 -S | FileCheck %s
|
||||
; RUN: opt < %s -aa-pipeline=basic-aa,globals-aa -passes='function(instcombine),require<globals-aa>,function(invalidate<aa>,loop(licm))' -S | FileCheck %s
|
||||
|
||||
; Make sure -globals-aa ignores dead uses of globals.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user