OSDN Git Service

Use movw/movt instead of constant pool loads to lower byval parameter copies
authorDerek Schuff <dschuff@google.com>
Thu, 26 Mar 2015 22:11:00 +0000 (22:11 +0000)
committerDerek Schuff <dschuff@google.com>
Thu, 26 Mar 2015 22:11:00 +0000 (22:11 +0000)
commit32b33c2c304fc1c9e37cc05c94c8891e0832e267
treecdb1498848c56ef3430ad0383d768d0fefbf1465
parentc4eafd24f28b676ed7f605cda1fe42da6d34b81f
Use movw/movt instead of constant pool loads to lower byval parameter copies

Summary:
The ARM backend can use a loop to implement copying byval parameters before
a call. In non-thumb2 mode it uses a constant pool load to materialize the
trip count. For targets that need movt instead (e.g. Native Client), use
the same code as in thumb2 mode to materialize the trip count.

Reviewers: jfb, t.p.northover

Differential Revision: http://reviews.llvm.org/D8442

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233324 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/struct_byval.ll