Add an idealistic test for optimize attribute
Alas it does not currently work, because of limitations in compiletest…
This commit is contained in:
parent
f38d0da893
commit
dcf5482cda
49
src/test/codegen/optimize-attr-1.rs
Normal file
49
src/test/codegen/optimize-attr-1.rs
Normal file
@ -0,0 +1,49 @@
|
||||
// revisions: NO-OPT SIZE-OPT SPEED-OPT
|
||||
// [NO-OPT]compile-flags: -Copt-level=0
|
||||
// [SIZE-OPT]compile-flags: -Copt-level=s
|
||||
// [SPEED-OPT]compile-flags: -Copt-level=3
|
||||
|
||||
#![feature(optimize_attribute)]
|
||||
#![crate_type="rlib"]
|
||||
|
||||
// NO-OPT: Function Attrs:{{.*}}optnone
|
||||
// NO-OPT-NOT: {{optsize|minsize}}
|
||||
// NO-OPT-NEXT: @nothing
|
||||
// NO-OPT: ret i32 %1
|
||||
//
|
||||
// SIZE-OPT: Function Attrs:{{.*}}optsize
|
||||
// SIZE-OPT-NOT: {{minsize|optnone}}
|
||||
// SIZE-OPT-NEXT: @nothing
|
||||
// SIZE-OPT-NEXT: start
|
||||
// SIZE-OPT-NEXT: ret i32 4
|
||||
//
|
||||
// SPEED-OPT: Function Attrs:
|
||||
// SPEED-OPT-NOT: {{minsize|optnone|optsize}}
|
||||
// SPEED-OPT-NEXT: @nothing
|
||||
// SPEED-OPT-NEXT: start
|
||||
// SPEED-OPT-NEXT: ret i32 4
|
||||
#[no_mangle]
|
||||
pub fn nothing() -> i32 {
|
||||
2 + 2
|
||||
}
|
||||
|
||||
// CHECK: Function Attrs:{{.*}} minsize{{.*}}optsize
|
||||
// CHECK-NEXT: @size
|
||||
// CHECK-NEXT: start
|
||||
// CHECK-NEXT: ret i32 4
|
||||
#[optimize(size)]
|
||||
#[no_mangle]
|
||||
pub fn size() -> i32 {
|
||||
2 + 2
|
||||
}
|
||||
|
||||
// CHECK: Function Attrs:
|
||||
// CHECK-NOT: {{minsize|optsize|optnone}}
|
||||
// CHECK-NEXT: @speed
|
||||
// CHECK-NEXT: start
|
||||
// CHECK-NEXT: ret i32 4
|
||||
#[optimize(speed)]
|
||||
#[no_mangle]
|
||||
pub fn speed() -> i32 {
|
||||
2 + 2
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user