diff options
author | Dan Gohman <sunfish@mozilla.com> | 2014-02-25 19:22:12 -0800 |
---|---|---|
committer | Dan Gohman <sunfish@mozilla.com> | 2014-02-28 11:22:37 -0800 |
commit | eaddc5d650f87a861ebdc6d3c49fb155ec791306 (patch) | |
tree | d635a477ede94649247cc4104a36876b1fc750b5 /lib/Target/JSBackend | |
parent | 00b643e31badf20d270501e5ae15a17baa864c6f (diff) |
Implement llvm.flt.rounds and disable the createRewriteLLVMIntrinsicsPass pass.
Diffstat (limited to 'lib/Target/JSBackend')
-rw-r--r-- | lib/Target/JSBackend/CallHandlers.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/JSBackend/CallHandlers.h b/lib/Target/JSBackend/CallHandlers.h index ec17f905d1..93275b9637 100644 --- a/lib/Target/JSBackend/CallHandlers.h +++ b/lib/Target/JSBackend/CallHandlers.h @@ -362,6 +362,12 @@ DEF_CALL_HANDLER(llvm_prefetch, { return ""; }) +DEF_CALL_HANDLER(llvm_flt_rounds, { + // FLT_ROUNDS helper. We don't support setting the rounding mode dynamically, + // so it's always round-to-nearest (1). + return getAssign(CI) + "1"; +}) + DEF_CALL_HANDLER(bitshift64Lshr, { return CH___default__(CI, "_bitshift64Lshr", 3); }) @@ -735,6 +741,7 @@ void setupCallHandlers() { SETUP_CALL_HANDLER(llvm_invariant_start); SETUP_CALL_HANDLER(llvm_invariant_end); SETUP_CALL_HANDLER(llvm_prefetch); + SETUP_CALL_HANDLER(llvm_flt_rounds); SETUP_CALL_HANDLER(bitshift64Lshr); SETUP_CALL_HANDLER(bitshift64Ashr); SETUP_CALL_HANDLER(bitshift64Shl); |