Use movw+movt in ARMFastISel::ARMMaterializeGV.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 7 Jan 2012 01:47:05 +0000 (01:47 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 7 Jan 2012 01:47:05 +0000 (01:47 +0000)
commit68f034ee1aa97182cf4c7ec82c1ccff61b36e5c0
treeca5d31a60561517f23566700788da147780de110
parent2ec61a896b67f4080697b85ce9e676e5c59bb9f6
Use movw+movt in ARMFastISel::ARMMaterializeGV.

This eliminates a lot of constant pool entries for -O0 builds of code
with many global variable accesses.

This speeds up -O0 codegen of consumer-typeset by 2x because the
constant island pass no longer has to look at thousands of constant pool
entries.

<rdar://problem/10629774>

llvm-svn: 147712
llvm/lib/Target/ARM/ARMFastISel.cpp
llvm/test/CodeGen/ARM/fast-isel-intrinsic.ll
llvm/test/CodeGen/ARM/fast-isel.ll