mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-05 12:31:33 +00:00
Mark math lib intrinsics readonly, on the grounds
that they read the rounding mode. This is conservatively correct, which they weren't before. We can do more optimization on these if we actually model the rounding mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55860 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c94fe21a56
commit
54d9f98a56
@ -193,7 +193,10 @@ let Properties = [IntrWriteArgMem] in {
|
||||
llvm_i64_ty, llvm_i32_ty]>;
|
||||
}
|
||||
|
||||
let Properties = [IntrNoMem] in {
|
||||
// These functions do not actually read memory, but they are sensitive to the
|
||||
// rounding mode. This needs to be modelled separately; in the meantime
|
||||
// declaring them as reading memory is conservatively correct.
|
||||
let Properties = [IntrReadMem] in {
|
||||
def int_sqrt : Intrinsic<[llvm_anyfloat_ty, LLVMMatchType<0>]>;
|
||||
def int_powi : Intrinsic<[llvm_anyfloat_ty, LLVMMatchType<0>, llvm_i32_ty]>;
|
||||
def int_sin : Intrinsic<[llvm_anyfloat_ty, LLVMMatchType<0>]>;
|
||||
|
Loading…
Reference in New Issue
Block a user