diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-11-01 18:57:49 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-11-01 18:57:49 +0000 |
| commit | 2fa61f842721331965a21cbd94d8c4ab7ca0d1b0 (patch) | |
| tree | 66f714be4db0c0b58ef5976ec7dca98316e43644 /llvm/test/FrontendC++/integration-O2.cpp | |
| parent | 37536b90e1550e62e315a2ca5e4cd8b5033175d6 (diff) | |
| download | bcm5719-llvm-2fa61f842721331965a21cbd94d8c4ab7ca0d1b0.tar.gz bcm5719-llvm-2fa61f842721331965a21cbd94d8c4ab7ca0d1b0.zip | |
We currently only run ipsccp at LTO time, which is silly. It subsumes
ipconstprop and doesn't take much time. Just run it in its place.
This adds a testcase for it, which I plan to expand to cover other
"integration" cases, where we expect the optimizer to be able to
eliminate various things. Due to phase order issues we've regressed
in a number of areas and integration tests are the only way I see to
prevent this.
llvm-svn: 85729
Diffstat (limited to 'llvm/test/FrontendC++/integration-O2.cpp')
| -rw-r--r-- | llvm/test/FrontendC++/integration-O2.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/FrontendC++/integration-O2.cpp b/llvm/test/FrontendC++/integration-O2.cpp new file mode 100644 index 00000000000..bb65ac21033 --- /dev/null +++ b/llvm/test/FrontendC++/integration-O2.cpp @@ -0,0 +1,19 @@ +// RUN: %llvmgxx %s -O2 -S -o - | FileCheck %s + +// This test verifies that we get expected codegen out of the -O2 optimization +// level from the full optimizer. + + + +// Verify that ipsccp is running and can eliminate globals. +static int test1g = 42; +void test1f1() { + if (test1g == 0) test1g = 0; +} +int test1f2() { + return test1g; +} + +// CHECK: @_Z7test1f2v() +// CHECK: entry: +// CHECK-NEXT: ret i32 42 |

