diff options
author | Craig Topper <craig.topper@intel.com> | 2019-03-21 17:38:58 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-03-21 17:38:58 +0000 |
commit | c14f3e42220efc798f33052b67835b96ba01d045 (patch) | |
tree | 7548a49223c87168fdcf50394872f8c88eb12dde /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h | |
parent | 9f0b17a248c536b430c200e86f6017abf0e67ed3 (diff) | |
download | llvm-c14f3e42220efc798f33052b67835b96ba01d045.zip llvm-c14f3e42220efc798f33052b67835b96ba01d045.tar.gz llvm-c14f3e42220efc798f33052b67835b96ba01d045.tar.bz2 |
[X86] Don't avoid folding multiple use sign extended 8-bit immediate into instructions under optsize.
Under optsize we try to avoid folding immediates into instructions under optsize. But if the immediate is 16-bits or 32 bits, but can be encoded as an 8-bit immediate we don't save enough from disabling the folding unless the immediate has enough uses to make up for the size of the move which is either 3 bytes or 5 bytes since there are no sign extended 8-bit moves. We would also save something if the immediate was a live out of the basic block and thus a move was unavoidable, but that would require a more advanced heuristic than just counting uses.
Note we only avoid folding multiple use immediates into the patterns that use X86ISD::ADD/SUB/XOR/OR/AND/CMP/ADC/SBB nodes and not the more common ISD::ADD/SUB/XOR/OR/AND nodes.
Differential Revision: https://reviews.llvm.org/D59522
llvm-svn: 356688
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions