aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2022-01-20 11:32:26 -0800
committerCraig Topper <craig.topper@sifive.com>2022-01-20 11:35:37 -0800
commit94e69fbb4f3a9719d4d8cc7268dd5db5d0be7e8f (patch)
tree866105a53b059d35d17b67a82318e0da94dfdca9 /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
parent6b92bb47901f3a2d4a9aa683b0365088113a729e (diff)
downloadllvm-94e69fbb4f3a9719d4d8cc7268dd5db5d0be7e8f.zip
llvm-94e69fbb4f3a9719d4d8cc7268dd5db5d0be7e8f.tar.gz
llvm-94e69fbb4f3a9719d4d8cc7268dd5db5d0be7e8f.tar.bz2
[RISCV] Add DAG combine to fold (fp_to_int_sat (ffloor X)) -> (select X == nan, 0, (fcvt X, rdn))
Similar for ceil, trunc, round, and roundeven. This allows us to use static rounding modes to avoid a libcall. This is similar to D116771, but for the saturating conversions. This optimization is done for AArch64 as isel patterns. RISCV doesn't have instructions for ceil/floor/trunc/round/roundeven so the operations don't stick around until isel to enable a pattern match. Thus I've implemented a DAG combine. I'm only handling saturating to i64 or i32. This could be extended to other sizes in the future. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D116864
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions