DescriptionX87: Emit memory operands for cmp and test on ia32 and x64 when it makes sense.
port 0e43ff5632d38cfb8b0ea0bc6955d6f252cb9ad8 (r34187)
original commit message:
The InstructionSelector now associates an effect level to every node in a block.
The effect level of a node is the number of non-eliminatable nodes encountered from the beginning of the block to the node itself.
With this change, on ia32 and x64, a load from memory into a register can be replaced by a memory operand if all of the following conditions hold:
1. The only use of the load is in a 32 or 64 bit word comparison.
2. The user node and the load node belong to the same block.
3. The values of the operands have the same size (i.e., no need to zero-extend or sign-extend the result of the load).
BUG=
Committed: https://crrev.com/e1b9058f9e0bb1238ffcd311f6b48bb12b6113e0
Cr-Commit-Position: refs/heads/master@{#34204}
Patch Set 1 #
Messages
Total messages: 8 (3 generated)
|