[LLVMdev] default operation action
tom at stellard.net
Fri Dec 5 09:21:54 PST 2014
On Fri, Dec 05, 2014 at 12:00:41PM -0500, kewuzhang wrote:
> Hi Guys,
> I noticed that the operation actions( promote/expand/custom) are set per operation basis.
> Wondering if we can set it up globally?
> For example, I have native supported 32 bits registers, to handle 8 bits value operations, I want to do promote.
> and to support 64 bit operations, I want to expand.
This will happen automatically if you don't declare i8 as a legal type.
Do you have something like addRegisterClass(MVT::i8, SomeRegClass) in
your TargetLowering constructor? If so, then remove it and see what
> If I can set up the operation actions for the same type globally, then I can avoid to list all the operations with the same action .
> // expand type MVT::i64 to MVT::i32 for all the operations
> instead of
> setOperationAction( ISD::ADD, MVT::i64, Expand);
> setOperationAction( ISD::SUB, MVT::i64, Expand);
> setOperationAction( ISD::MUL, MVT::i64, Expand);
> Or LLVM is smart enough to do it buy default?
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev