[PATCH] Make addrspacecast (gep) do addrspacecast (gep) instead.

Quentin Colombet qcolombet at apple.com
Thu Feb 13 15:57:16 PST 2014


  Hi Matt,

  Overall your patch LGTM with few minor changes (see inline comments).

  Thanks,
  -Quentin

  PS: When you create a phabricator, please add more context to your patch (e.g., svn diff --diff-cmd=diff -x -U999999). This would make the review easier.


================
Comment at: lib/Transforms/InstCombine/InstructionCombining.cpp:1270
@@ +1269,3 @@
+          return new BitCastInst(NewGEP, GEP.getType());
+        else
+          return new AddrSpaceCastInst(NewGEP, GEP.getType());
----------------
No need for a ‘else’.

================
Comment at: lib/Transforms/InstCombine/InstructionCombining.cpp:1305
@@ +1304,3 @@
+              return new BitCastInst(NewGEP, GEP.getType());
+            else
+              return new AddrSpaceCastInst(NewGEP, GEP.getType());
----------------
Ditto.

================
Comment at: lib/Transforms/InstCombine/InstructionCombining.cpp:1348
@@ +1347,3 @@
+              return new BitCastInst(NewGEP, GEP.getType());
+            else
+              return new AddrSpaceCastInst(NewGEP, GEP.getType());
----------------
Ditto.

================
Comment at: test/Transforms/InstCombine/cast.ll:950
@@ +949,3 @@
+; CHECK-NEXT: getelementptr [100 x double] addrspace(1)*
+; CHECK: addrspacecast double addrspace(1)*
+; CHECK-NEXT: load double addrspace(3)*
----------------
What is the reason for not using CHECK-NEXT here?

================
Comment at: test/Transforms/InstCombine/getelementptr.ll:745
@@ +744,3 @@
+; CHECK: getelementptr [100 x double]* %arr, i64 0, i64 %V
+; CHECK-NEXT: %t = addrspacecast double*
+  %cast = addrspacecast [100 x double]* %arr to i64 addrspace(3)*
----------------
I think that wouldn’t hurt to check that the destination space is 3.
Alternatively, you can check that the load still uses 3 as addrspace, like you did for the other tests.


http://llvm-reviews.chandlerc.com/D2596



More information about the llvm-commits mailing list