[DAGCombiner] Exploiting more about the transformation of TransformFPLoadStorePair...
authorZi Xuan Wu <wuzish@cn.ibm.com>
Tue, 2 Jul 2019 02:54:52 +0000 (02:54 +0000)
committerZi Xuan Wu <wuzish@cn.ibm.com>
Tue, 2 Jul 2019 02:54:52 +0000 (02:54 +0000)
commit7ae536a1cedfa6095ab3c14ad876e076b6b17e9b
tree79445bebce77e76e9a7547714cdcc2c5f1767182
parentad38e58ef2412aaac7a5da1b15ca763787071742
[DAGCombiner] Exploiting more about the transformation of TransformFPLoadStorePair function

For a given floating point load / store pair, if the load value isn't used by any other operations,
then consider transforming the pair to integer load / store operations if the target deems the transformation profitable.

And we can exploiting much more when there are other operation nodes with chain operand between the load/store pair
so long as we keep the chain ordering original. We only replace the register used to load/store from float to integer.

I only add testcase in ARM because the TLI.isDesirableToTransformToIntegerOp hook is only enabled in ARM target.

Differential Revision: https://reviews.llvm.org/D60601

llvm-svn: 364883
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/ARM/ldst-f32-2-i32.ll