OSDN Git Service

[mips][fastisel] Handle 0-4 arguments without SelectionDAG.
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 28 Jul 2016 14:55:28 +0000 (14:55 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 28 Jul 2016 14:55:28 +0000 (14:55 +0000)
commit5604769b28412c3f05cdbc83bb7ad1fd13a4762c
treefe89b099a5c8f9da9ac48a4c16acead8d7f5ae62
parent04cc0adf589f95af1b2377a290d243bb7f9d7bad
[mips][fastisel] Handle 0-4 arguments without SelectionDAG.

Summary:
Implements fastLowerArguments() to avoid the need to fall back on
SelectionDAG for 0-4 argument functions that don't do tricky things like
passing double in a pair of i32's.

This allows us to move all except one test to -fast-isel-abort=3. The
remaining one has function prototypes of the form 'i32 (i32, double, double)'
which requires floats to be passed in GPR's.

Reviewers: sdardis

Subscribers: dsanders, llvm-commits, sdardis

Differential Revision: https://reviews.llvm.org/D22680

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276982 91177308-0d34-0410-b5e6-96231b3b80d8
25 files changed:
lib/Target/Mips/MipsFastISel.cpp
test/CodeGen/Mips/Fast-ISel/br1.ll
test/CodeGen/Mips/Fast-ISel/bswap1.ll
test/CodeGen/Mips/Fast-ISel/callabi.ll
test/CodeGen/Mips/Fast-ISel/constexpr-address.ll
test/CodeGen/Mips/Fast-ISel/div1.ll
test/CodeGen/Mips/Fast-ISel/fastalloca.ll
test/CodeGen/Mips/Fast-ISel/fpcmpa.ll
test/CodeGen/Mips/Fast-ISel/fpext.ll
test/CodeGen/Mips/Fast-ISel/fpintconv.ll
test/CodeGen/Mips/Fast-ISel/fptrunc.ll
test/CodeGen/Mips/Fast-ISel/icmpa.ll
test/CodeGen/Mips/Fast-ISel/loadstore2.ll
test/CodeGen/Mips/Fast-ISel/loadstoreconv.ll
test/CodeGen/Mips/Fast-ISel/loadstrconst.ll
test/CodeGen/Mips/Fast-ISel/logopm.ll
test/CodeGen/Mips/Fast-ISel/memtest1.ll
test/CodeGen/Mips/Fast-ISel/nullvoid.ll
test/CodeGen/Mips/Fast-ISel/overflt.ll
test/CodeGen/Mips/Fast-ISel/rem1.ll
test/CodeGen/Mips/Fast-ISel/retabi.ll
test/CodeGen/Mips/Fast-ISel/shftopm.ll
test/CodeGen/Mips/Fast-ISel/simplestore.ll
test/CodeGen/Mips/Fast-ISel/simplestorefp1.ll
test/CodeGen/Mips/Fast-ISel/simplestorei.ll