search for: __illegal__

Displaying 4 results from an estimated 4 matches for "__illegal__".

2012 Jun 01
0
[LLVMdev] Predicate registers/condition codes question
...newly promoted ones. Then as Ivan was suggesting, we will have to > provide custom expansion to promote the "illegal" ops on i8 on almost > all the operations, except logical ops. I think there is also another (and cleaner) workaround, a kind of operation-based type promotion of __illegal__ types. This can be done by simply setting the operation with illegal type result to have a custom expander, for example: setOperationAction(ISD::AND, MVT::i1, Custom) See LowerOperationWrapper() & ReplaceNodeResults() hooks in TargetLowering. If you make this work only on logical ops, the r...
2012 May 25
3
[LLVMdev] Predicate registers/condition codes question
On Thu, May 24, 2012 at 5:40 PM, Sebastian Pop <spop at codeaurora.org> wrote: > On Thu, May 24, 2012 at 5:06 PM, Hal Finkel <hfinkel at anl.gov> wrote: >> Sebastian, >> >> First, it might be useful to look at what is done in the PowerPC >> backend. PPC also has condition registers that are larger than the >> 1-bit conditional results, and it defines
2012 Jun 01
3
[LLVMdev] Predicate registers/condition codes question
... Then as Ivan was suggesting, we will have to >> provide custom expansion to promote the "illegal" ops on i8 on almost >> all the operations, except logical ops. > > I think there is also another (and cleaner) workaround, a kind of > operation-based type promotion of __illegal__ types. > This can be done by simply setting the operation with illegal type > result to have a custom expander, for example: > > setOperationAction(ISD::AND, MVT::i1, Custom) > I was exploring something similar using exactly this function. > See LowerOperationWrapper() & Rep...
2012 Jun 03
0
[LLVMdev] Predicate registers/condition codes question
...uggesting, we will have to >>> provide custom expansion to promote the "illegal" ops on i8 on almost >>> all the operations, except logical ops. >> >> I think there is also another (and cleaner) workaround, a kind of >> operation-based type promotion of __illegal__ types. >> This can be done by simply setting the operation with illegal type >> result to have a custom expander, for example: >> >> setOperationAction(ISD::AND, MVT::i1, Custom) >> > > I was exploring something similar using exactly this function. > >>...