diff options
| author | Alex MacLean <amaclean@nvidia.com> | 2024-07-01 08:10:56 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-01 08:10:56 -0700 |
| commit | 8361d9065e393c0e74ab8bfccdab3fd7850a10b2 (patch) | |
| tree | 8618efb7cf8b6fa8ec6b48e2fd76dab9ea0caaaa /lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py | |
| parent | 47c3eca48952a8f5907aa9a413a4caa6c5ad6fc0 (diff) | |
[InstCombine] disable select folding resulting in extra instructions (#97184)
Disable conversion of a `(select (icmp))` when it would result in more
instructions `(xor (lshr (and)))`. This transformation produces more
instructions and can interfere with other more profitable folds for
`select`. For example before this change the following folding would
occur:
```llvm
%1 = icmp slt i32 %X, 0
%2 = select i1 %1, i64 0, i64 8
```
to
```llvm
%1 = lshr i32 %X, 28
%2 = and i32 %1, 8
%3 = xor i32 %2, 8
%4 = zext nneg i32 %3 to i64
```
Diffstat (limited to 'lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py')
0 files changed, 0 insertions, 0 deletions
