[PATCH] [SelectionDAG] Combine extload/store/load sequence into extload.

Quentin Colombet qcolombet at apple.com
Mon Dec 8 14:38:53 PST 2014


Hi Ahmed,

LGTM.

Thanks,
-Quentin

================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:8314
@@ +8313,3 @@
+  //   store i32 %value, %ptr2
+  //     %value = load i32 %ptr1
+  // to turn the extload into:
----------------
IIRC, we tend to write the chain of computation in the opposite order:
load
store
extload

Please make sure you use the same convention here and I did not remember correctly, then ignore this :).

================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:8317
@@ +8316,3 @@
+  // v4i32 load %ptr1, zext from v4i8
+  if (!ISD::isNON_EXTLoad(N) && !LD->isVolatile() &&
+      ISD::isNON_TRUNCStore(Chain.getNode())) {
----------------
!ISD::isNON_EXTLoad(N) => ISD::isEXTLoad(N)
That may be less contrived.

http://reviews.llvm.org/D6552






More information about the llvm-commits mailing list