ARM: use litpools for normal i32 imms when compiling minsize.

Press ? to show keyboard shortcuts.
Committed
tnorthoverJan 23 2014, 5:43 AM
Parents
rL199890: Remove empty directories left after r190748 and r198688.
Branches
Unknown
Tags
Unknown
Subscribers
None
Description

ARM: use litpools for normal i32 imms when compiling minsize.

With constant-sharing, litpool loads consume 4 + N*2 bytes of code, but
movw/movt pairs consume 8*N. This means litpools are better than movw/movt even
with just one use. Other materialisation strategies can still be better though,
so the logic is a little odd.

rL199891

llvm/trunk/lib/Target/ARM/ARMISelDAGToDAG.cpp

Loading...

llvm/trunk/lib/Target/ARM/ARMInstrInfo.td

Loading...

llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td

Loading...

llvm/trunk/test/CodeGen/ARM/minsize-imms.ll

Loading...

Add Comment