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)
commit45ca7c6336f174fae3a9521d5161a498ca27fd13
tree7885c9d2cea7f10d4f0eff077b8d19543159cbfe
parentf231a6dc7f251859af61677991b9c70ade6e1bfa
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>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147712 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMFastISel.cpp
test/CodeGen/ARM/fast-isel-intrinsic.ll
test/CodeGen/ARM/fast-isel.ll