summaryrefslogtreecommitdiffstats
path: root/src/test/mir-opt/inline/inline_options.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/mir-opt/inline/inline_options.rs')
-rw-r--r--src/test/mir-opt/inline/inline_options.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/mir-opt/inline/inline_options.rs b/src/test/mir-opt/inline/inline_options.rs
new file mode 100644
index 000000000..477f050b6
--- /dev/null
+++ b/src/test/mir-opt/inline/inline_options.rs
@@ -0,0 +1,19 @@
+// Checks that inlining threshold can be controlled with
+// inline-mir-threshold and inline-hint-threshold options.
+//
+// compile-flags: -Zinline-mir-threshold=90
+// compile-flags: -Zinline-mir-hint-threshold=50
+
+// EMIT_MIR inline_options.main.Inline.after.mir
+fn main() {
+ not_inlined();
+ inlined::<u32>();
+}
+
+// Cost is approximately 3 * 25 + 5 = 80.
+#[inline]
+pub fn not_inlined() { g(); g(); g(); }
+pub fn inlined<T>() { g(); g(); g(); }
+
+#[inline(never)]
+fn g() {}