diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-02-18 23:17:16 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-02-18 23:17:16 +0000 |
commit | 66651e4c2ff2c56ae12875b4ca9f5109e8acfd13 (patch) | |
tree | 7a46560cf10a67c2a2adbdfcb0f89ca0e4d4f78c /llvm/test | |
parent | c1f96400137f223a2327e87e704de51008240dc3 (diff) | |
download | bcm5719-llvm-66651e4c2ff2c56ae12875b4ca9f5109e8acfd13.tar.gz bcm5719-llvm-66651e4c2ff2c56ae12875b4ca9f5109e8acfd13.zip |
Check to see if the 'no-builtin' attribute is set before simplifying a library call.
llvm-svn: 175470
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Transforms/InstCombine/no-builtin.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/no-builtin.ll b/llvm/test/Transforms/InstCombine/no-builtin.ll new file mode 100644 index 00000000000..a576cd4813d --- /dev/null +++ b/llvm/test/Transforms/InstCombine/no-builtin.ll @@ -0,0 +1,23 @@ +; RUN: opt < %s -instcombine -S | FileCheck %s +@.str = private unnamed_addr constant [14 x i8] c"hello world!\0A\00", align 1 + +; CHECK: @foo +; CHECK: printf +define void @foo() nounwind ssp uwtable "no-builtin" { +entry: + %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0)) + ret void +} + +; CHECK: @bar +; CHECK: puts +define void @bar() nounwind ssp uwtable { +entry: + %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0)) + ret void +} + +declare i32 @printf(i8*, ...) + +attributes #0 = { nounwind ssp uwtable "no-builtin" } +attributes #1 = { nounwind ssp uwtable } |