[llvm-commits] [PATCH] Proper treatment of unhandled CCValAssign cases in X86FastISel.cpp

Chad Rosier mcrosier at apple.com
Tue Jul 10 17:45:03 PDT 2012


Andrew,
Would you mind providing a test case?  Certainly, returning false will work, but I'm wondering if we need to bail on fast-isel.  

The switch is promoting values when necessary, but I don't think that's necessary for CCValAssign::Indirect.  In that case I believe you can just break from the switch.  However, I don't know if the rest of fast-isel is able to handle this case.

 Chad

On Jul 10, 2012, at 5:19 PM, Kaylor, Andrew wrote:

> Hello all,
>  
> I came across a case today where the X86 fast instruction selector was throwing an llvm_unreachable error in response to a valid value for an argument location (CCValAssign::Indirect in the case I ran into).  I don’t know if it would be reasonable to handle this case in the X86FastISel code, but in the meantime it seems the code should simply return ‘false’ when it encounters an unimplemented location type so that the SelectionDAG can handle it.
>  
> The attached patch does that.
>  
> -Andy
>  
> <X86FastISel.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120710/14ab08aa/attachment.html>


More information about the llvm-commits mailing list