
Not sure why the "fold-all" option naming didn't match the variable "FoldPreOutputs", but I've preserved the difference. More annoyingly, the pass name "normalize" does not match the pass name IRNormalizer and should probably be fixed one way or the other. Also the existing test coverage for the flags is lacking. I've added a test that shows they parse, but we should have tests that they do something.
22 lines
815 B
LLVM
22 lines
815 B
LLVM
; RUN: not opt -S -passes='normalize<invalid>' %s 2>&1 | FileCheck -check-prefix=ERR %s
|
|
; RUN: opt -S -passes=normalize < %s | FileCheck %s
|
|
; RUN: opt -S -passes='normalize<>' < %s | FileCheck %s
|
|
; RUN: opt -S -passes='normalize<preserve-order;rename-all;fold-all;reorder-operands>' < %s | FileCheck %s
|
|
; RUN: opt -S -passes='normalize<no-preserve-order;no-rename-all;no-fold-all;no-reorder-operands>' < %s | FileCheck %s
|
|
|
|
; FIXME: This verifies all the pass parameter names parse, but not
|
|
; that they work as expected.
|
|
|
|
; ERR: invalid normalize pass parameter 'invalid'
|
|
|
|
; CHECK: define i32 @0(i32 %a0, i32 %a1) {
|
|
; CHECK-NEXT: bb17254:
|
|
; CHECK-NEXT: %"vl12603(%a0, %a1)" = add i32 %a0, %a1
|
|
; CHECK-NEXT: ret i32 %"vl12603(%a0, %a1)"
|
|
; CHECK-NEXT: }
|
|
define i32 @0(i32, i32) {
|
|
%3 = add i32 %0, %1
|
|
ret i32 %3
|
|
}
|
|
|