diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM/build-attributes-fn-attr6.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/build-attributes-fn-attr6.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/build-attributes-fn-attr6.ll b/llvm/test/CodeGen/ARM/build-attributes-fn-attr6.ll new file mode 100644 index 00000000000..2cbe15a6dd0 --- /dev/null +++ b/llvm/test/CodeGen/ARM/build-attributes-fn-attr6.ll @@ -0,0 +1,23 @@ +; Check FP options -fno-trapping-math and -fdenormal-fp-math. They are passed +; as function attributes, which map on to build attributes ABI_FP_exceptions +; ABI_FP_denormal. In the backend we therefore have a check to see if all +; functions have consistent function attributes values. Here we check two +; functions have inconsistent values, and that a default is returned. + +; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a15 | FileCheck %s --check-prefix=CHECK + +; CHECK: .eabi_attribute 20, 0 +; CHECK: .eabi_attribute 21, 0 + +define i32 @foo1() local_unnamed_addr #0 { +entry: + ret i32 42 +} + +define i32 @foo2() local_unnamed_addr #1 { +entry: + ret i32 42 +} + +attributes #0 = { minsize norecurse nounwind optsize readnone "denormal-fp-math"="preserve-sign"} +attributes #0 = { minsize norecurse nounwind optsize readnone "denormal-fp-math"="positive-zero"} |