[PATCH] D31999: [Hexagon] Fix "LowerFormalArguments emitted a value with the wrong type!" assertion

Michael Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 12 18:08:04 PDT 2017


michaelwu created this revision.

When passing arguments (that aren't i32) by reference on the stack, SelectionDAGISel::LowerArguments asserts on the Hexagon backend due to the wrong type being used.  -debug-only=isel is necessary to trigger the assertion.


https://reviews.llvm.org/D31999

Files:
  lib/Target/Hexagon/HexagonISelLowering.cpp


Index: lib/Target/Hexagon/HexagonISelLowering.cpp
===================================================================
--- lib/Target/Hexagon/HexagonISelLowering.cpp
+++ lib/Target/Hexagon/HexagonISelLowering.cpp
@@ -1254,7 +1254,7 @@
         InVals.push_back(FIN);
       } else {
         InVals.push_back(
-            DAG.getLoad(VA.getLocVT(), dl, Chain, FIN, MachinePointerInfo()));
+            DAG.getLoad(VA.getValVT(), dl, Chain, FIN, MachinePointerInfo()));
       }
     }
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31999.95066.patch
Type: text/x-patch
Size: 490 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170413/1d322d05/attachment.bin>


More information about the llvm-commits mailing list