diff options
Diffstat (limited to 'tests/codegen-llvm/inline-always-works-always.rs')
| -rw-r--r-- | tests/codegen-llvm/inline-always-works-always.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/codegen-llvm/inline-always-works-always.rs b/tests/codegen-llvm/inline-always-works-always.rs new file mode 100644 index 00000000000..07200fd9e37 --- /dev/null +++ b/tests/codegen-llvm/inline-always-works-always.rs @@ -0,0 +1,21 @@ +//@ 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 + +#![crate_type = "rlib"] + +#[no_mangle] +#[inline(always)] +pub extern "C" fn callee() -> u32 { + 4 + 4 +} + +// CHECK-LABEL: caller +// SIZE-OPT: ret i32 8 +// SPEED-OPT: ret i32 8 +// NO-OPT: ret i32 8 +#[no_mangle] +pub extern "C" fn caller() -> u32 { + callee() +} |
