mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
ce9b37c087
options. This commit changes the command line arguments (PassInfo::PassArgument) of two passes, MachineFunctionPrinter and MachineScheduler, to avoid collisions with command line options that have the same argument strings. This bug manifests when the PassList construct (defined in opt.cpp) is used in a tool that links with codegen passes. To reproduce the bug, paste the following lines into llc.cpp and run llc. #include "llvm/IR/LegacyPassNameParser.h" static llvm:🆑:list<const llvm::PassInfo*, bool, llvm::PassNameParser> PassList(llvm:🆑:desc("Optimizations available:")); rdar://problem/19212448 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224186 91177308-0d34-0410-b5e6-96231b3b80d8
15 lines
594 B
LLVM
15 lines
594 B
LLVM
; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs=branch-folder -o /dev/null 2>&1 | FileCheck %s
|
|
; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs -o /dev/null 2>&1 | FileCheck %s
|
|
; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs= -o /dev/null 2>&1 | FileCheck %s
|
|
|
|
define i64 @foo(i64 %a, i64 %b) nounwind {
|
|
; CHECK: -branch-folder -machineinstr-printer
|
|
; CHECK: Control Flow Optimizer
|
|
; CHECK-NEXT: MachineFunction Printer
|
|
; CHECK: Machine code for function foo:
|
|
%c = add i64 %a, %b
|
|
%d = trunc i64 %c to i32
|
|
%e = zext i32 %d to i64
|
|
ret i64 %e
|
|
}
|