over declarations.
This is both quite unproductive and causes things to crash, for example
domtree would just assert.
I've added a declaration and a domtree run to the basic high-level tests
for the new pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227724
91177308-0d34-0410-b5e6-
96231b3b80d8
PreservedAnalyses PA = PreservedAnalyses::all();
for (Function &F : M) {
+ if (F.isDeclaration())
+ continue;
+
PreservedAnalyses PassPA = Pass.run(F, FAM);
// We know that the function pass couldn't have invalidated any other
; CHECK-TIRA-NOT: Running analysis: TargetIRAnalysis
; CHECK-TIRA: Finished pass manager
+; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
+; RUN: -passes='require<domtree>' \
+; RUN: | FileCheck %s --check-prefix=CHECK-DT
+; CHECK-DT: Starting pass manager
+; CHECK-DT: Running pass: RequireAnalysisPass
+; CHECK-DT: Running analysis: DominatorTreeAnalysis
+; CHECK-DT: Finished pass manager
+
define void @foo() {
ret void
}
+
+declare void @bar()