Skip to content

Commit

Permalink
[test][NewPM] Make dead-uses.ll work under NPM
Browse files Browse the repository at this point in the history
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
  • Loading branch information
aeubanks committed Oct 6, 2020
1 parent 4a7a988 commit 61d4b34
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion llvm/test/Analysis/GlobalsModRef/dead-uses.ll
@@ -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.

Expand Down

0 comments on commit 61d4b34

Please sign in to comment.