mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
e2dc71d312
This moves the old pass creation functionality to its own header and updates the callers of that routine. Then it adds a new PM supporting bitcode writer to the header file, and wires that up in the opt tool. A test is added that round-trips code into bitcode and back out using the new pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199078 91177308-0d34-0410-b5e6-96231b3b80d8
40 lines
1.6 KiB
LLVM
40 lines
1.6 KiB
LLVM
; This test is essentially doing very basic things with the opt tool and the
|
|
; new pass manager pipeline. It will be used to flesh out the feature
|
|
; completeness of the opt tool when the new pass manager is engaged. The tests
|
|
; may not be useful once it becomes the default or may get spread out into other
|
|
; files, but for now this is just going to step the new process through its
|
|
; paces.
|
|
|
|
; RUN: opt -disable-output -debug-pass-manager -passes=print %s 2>&1 \
|
|
; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-PRINT
|
|
; CHECK-MODULE-PRINT: Starting module pass manager
|
|
; CHECK-MODULE-PRINT: Running module pass: PrintModulePass
|
|
; CHECK-MODULE-PRINT: ModuleID
|
|
; CHECK-MODULE-PRINT: define void @foo()
|
|
; CHECK-MODULE-PRINT: Finished module pass manager
|
|
|
|
; RUN: opt -disable-output -debug-pass-manager -passes='function(print)' %s 2>&1 \
|
|
; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PRINT
|
|
; CHECK-FUNCTION-PRINT: Starting module pass manager
|
|
; CHECK-FUNCTION-PRINT: Starting function pass manager
|
|
; CHECK-FUNCTION-PRINT: Running function pass: PrintFunctionPass
|
|
; CHECK-FUNCTION-PRINT-NOT: ModuleID
|
|
; CHECK-FUNCTION-PRINT: define void @foo()
|
|
; CHECK-FUNCTION-PRINT: Finished function pass manager
|
|
; CHECK-FUNCTION-PRINT: Finished module pass manager
|
|
|
|
; RUN: opt -S -o - -passes='no-op-module,no-op-module' %s \
|
|
; RUN: | FileCheck %s --check-prefix=CHECK-NOOP
|
|
; CHECK-NOOP: define void @foo() {
|
|
; CHECK-NOOP: ret void
|
|
; CHECK-NOOP: }
|
|
|
|
; Round trip through bitcode.
|
|
; RUN: opt -f -o - -passes='no-op-module,no-op-module' %s \
|
|
; RUN: | llvm-dis \
|
|
; RUN: | FileCheck %s --check-prefix=CHECK-NOOP
|
|
|
|
define void @foo() {
|
|
ret void
|
|
}
|