diff options
| author | John Brawn <john.brawn@arm.com> | 2020-02-13 14:52:33 +0000 |
|---|---|---|
| committer | John Brawn <john.brawn@arm.com> | 2020-02-13 16:12:50 +0000 |
| commit | 0ec57972967dfb43fc022c2e3788be041d1db730 (patch) | |
| tree | 243451f9c008bb7bbd1f7e5593d2e8a42648f937 /lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp | |
| parent | 18789bfe3a39f69f6cfe6490a24a61ea2ff0b5af (diff) | |
[ARM] Fix infinite loop when lowering STRICT_FP_EXTEND
If the target has FP64 but not FP16 then we have custom lowering for FP_EXTEND
and STRICT_FP_EXTEND with type f64. However if the extend is from f32 to f64 the
current implementation will cause in infinite loop for STRICT_FP_EXTEND due to
emitting a merge_values of the original node which after replacement becomes a
merge_values of itself.
Fix this by not doing anything for f32 to f64 extend when we have FP64, though
for STRICT_FP_EXTEND we have to do the strict-to-nonstrict mutation as that
doesn't happen automatically for opcodes with custom lowering.
Differential Revision: https://reviews.llvm.org/D74559
Diffstat (limited to 'lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp')
0 files changed, 0 insertions, 0 deletions
