| // { dg-do compile } |
| // { dg-options "-O3 -fdump-tree-optimized-raw" } |
| |
| import gcc.attributes; |
| |
| int glob1; |
| int easily_inlinable(int i) { glob1 = i; return 2; } |
| |
| @optStrategy("none") |
| int call_easily_inlinable(int i) |
| { |
| return easily_inlinable(i); |
| } |
| |
| // { dg-final { scan-tree-dump "gimple_call <easily_inlinable" "optimized" } } |
| |
| pragma(inline, true) int always_inline() { return 321; } |
| |
| @optStrategy("none") |
| int call_always_inline() |
| { |
| return always_inline(); |
| } |
| |
| // { dg-final { scan-tree-dump "gimple_call <always_inline" "optimized" } } |
| |
| int glob2; |
| @optStrategy("none") void optnone_function(int i) { glob2 = i; } |
| |
| void call_optnone() |
| { |
| optnone_function(1); |
| } |
| |
| // { dg-final { scan-tree-dump "gimple_call <optnone_function" "optimized" } } |
| |
| @optStrategy("optsize") |
| void optsize_fn() |
| { |
| } |
| |
| @optStrategy("minsize") |
| void minsize_fn() |
| { |
| } |