[LLVMdev] How to use property 'isCommutable' in target description file?

Anton Korobeynikov anton at korobeynikov.info
Mon Dec 7 23:32:16 PST 2009

> Who would like give an example to demonstrate what benifit it has if
> 'isCommuatble=1' in instruction selection, register allocation or other
> process?
isCommutable means that that codegen might commute the instruction if
this is profitable e.g. if this operation might make some moves noop.
Consider, e.g.

add r1, r2
mov r1, r2

commuting add will yield

add r2, r1
mov r2,r2

and mov can be eliminated

With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University

More information about the llvm-dev mailing list