diff options
author | Eduard Zingerman <eddyz87@gmail.com> | 2023-07-07 04:26:28 +0300 |
---|---|---|
committer | Eduard Zingerman <eddyz87@gmail.com> | 2023-07-11 22:30:34 +0300 |
commit | 18e13739b8c02e0b82e3e587c33e8731c8a46b0a (patch) | |
tree | 1744636721662f56747cd5f1f641625dc9c7eccc /lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp | |
parent | 51ef80a7c20b8a54ef637550a6af8e4293a50407 (diff) | |
download | llvm-18e13739b8c02e0b82e3e587c33e8731c8a46b0a.zip llvm-18e13739b8c02e0b82e3e587c33e8731c8a46b0a.tar.gz llvm-18e13739b8c02e0b82e3e587c33e8731c8a46b0a.tar.bz2 |
[BPF] Undo transformation for LICM.cpp:hoistMinMax()
Extended BPFCheckAndAdjustIR pass with sinkMinMax() transformation
that undoes LICM hoistMinMax pass.
The undo transformation converts the following patterns:
x < min(a, b) -> x < a && x < b
x > min(a, b) -> x > a || x > b
x < max(a, b) -> x < a || x < b
x > max(a, b) -> x > a && x > b
Where 'a' or 'b' is a constant.
Also supports `sext min(...) ...` and `zext min(...) ...`.
~~~
This was previously commited as 09feee559a29 and reverted in
0bf9bfeacc8c because of the testbot memory leak report:
https://lab.llvm.org/buildbot/#/builders/5/builds/34931
The memory leak issue was caused by incorrect instruction removal
sequence in skinMinMaxBB():
I->dropAllReferences(); --------> I->eraseFromParent();
I->removeFromParent(); fixed to
Differential Revision: https://reviews.llvm.org/D147990
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp')
0 files changed, 0 insertions, 0 deletions