[llvm-commits] ARM problem
Dan Gohman
djg at cray.com
Wed Jun 27 17:02:02 PDT 2007
Hi Lauro,
This was caused by my fix for PR1529.
I'm currently considering the following patch, which fixes your attached
test case:
Index: lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
===================================================================
RCS file: /var/cvs/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp,v
retrieving revision 1.470
diff -u -r1.470 SelectionDAGISel.cpp
--- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -312,7 +312,9 @@
MVT::ValueType ElementVT;
NumRegisters = TLI.getVectorTypeBreakdown(VT, ElementVT, RegisterVT);
} else {
- RegisterVT = TLI.getTypeToTransformTo(VT);
+ RegisterVT = VT;
+ while (!TLI.isTypeLegal(RegisterVT))
+ RegisterVT = TLI.getTypeToTransformTo(RegisterVT);
NumRegisters = TLI.getNumRegisters(VT);
}
I'm looking to see if I can find a cleaner way to solve this.
Dan
--
Dan Gohman, Cray Inc.
More information about the llvm-commits
mailing list