[PATCH] merge consecutive stores of extracted vector elements (PR21711)

Sanjay Patel spatel at rotateright.com
Tue Jan 6 18:46:49 PST 2015


================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:9791
@@ +9790,3 @@
+      // (in other words some of the stored values are constants or loads).
+      if (StoredVal.getOpcode() != ISD::EXTRACT_VECTOR_ELT)
+        return false;
----------------
hfinkel wrote:
> How does this cause a crash if you remove this check?
> 
For code like the second test case, we merge the stores and later during legalization get an error like this for the vector load:
Operand not processed?
0x5c4c770: v2i64,ch = load 0x5c4ac60, 0x5c4c660, 0x5c45850<LD16[%sunkaddr115](tbaa=<0x5b6c2a8>)> [ORD=61] [ID=1]

I haven't figured out exactly what happens to cause that.

http://reviews.llvm.org/D6850

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list