blob: 5091573b9b57f3c626c9661933aea23f43b47d12 [file] [edit]
; Check how no-trapping-math maps to attribute ABI_FP_exceptions across
; multiple functions. The backend only reports no-trapping-math (exceptions
; Not_Allowed, i.e. 21, 0) when every function definition agrees; a single
; disagreeing function taints the module back to the default (21, 1).
; RUN: split-file %s %t
; RUN: llc -mtriple=armv7-linux-gnueabi -mcpu=cortex-a15 < %t/agree.ll | FileCheck %s --check-prefix=AGREE
; RUN: llc -mtriple=armv7-linux-gnueabi -mcpu=cortex-a15 < %t/taint.ll | FileCheck %s --check-prefix=TAINT
; AGREE: .eabi_attribute 21, 0 @ Tag_ABI_FP_exceptions
; TAINT: .eabi_attribute 21, 1 @ Tag_ABI_FP_exceptions
;--- agree.ll
define i32 @f0() "no-trapping-math"="true" {
entry:
ret i32 42
}
define i32 @f1() "no-trapping-math"="true" {
entry:
ret i32 42
}
;--- taint.ll
define i32 @f0() "no-trapping-math"="true" {
entry:
ret i32 42
}
define i32 @f1() {
entry:
ret i32 42
}