[LLVMdev] default operation action

kewuzhang kewu.zhang at amd.com
Fri Dec 5 09:00:41 PST 2014

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.

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?



More information about the llvm-dev mailing list