diff options
| author | Philip Reames <preames@rivosinc.com> | 2022-06-09 15:11:01 -0700 |
|---|---|---|
| committer | Philip Reames <listmail@philipreames.com> | 2022-06-09 15:17:24 -0700 |
| commit | f85c5079b8d093ed9867733fac2946e3a50ed039 (patch) | |
| tree | 3db8eefff0039e4259bbf74415263d1aafeb6337 /lldb/test/API/python_api/function_symbol/TestSymbolAPI.py | |
| parent | ba79bb4973f963e9bd6a007e6508cdc6ec990051 (diff) | |
Pipe potentially invalid InstructionCost through CodeMetrics
Per the documentation in Support/InstructionCost.h, the purpose of an invalid cost is so that clients can change behavior on impossible to cost inputs. CodeMetrics was instead asserting that invalid costs never occurred.
On a target with an incomplete cost model - e.g. RISCV - this means that transformations would crash on (falsely) invalid constructs - e.g. scalable vectors. While we certainly should improve the cost model - and I plan to do so in the near future - we also shouldn't be crashing. This violates the explicitly stated purpose of an invalid InstructionCost.
I updated all of the "easy" consumers where bailouts were locally obvious. I plan to follow up with loop unroll in a following change.
Differential Revision: https://reviews.llvm.org/D127131
Diffstat (limited to 'lldb/test/API/python_api/function_symbol/TestSymbolAPI.py')
0 files changed, 0 insertions, 0 deletions
