Fix r194019 as requested by Eric Christopher.
authorReed Kotler <rkotler@mips.com>
Tue, 5 Nov 2013 08:14:14 +0000 (08:14 +0000)
committerReed Kotler <rkotler@mips.com>
Tue, 5 Nov 2013 08:14:14 +0000 (08:14 +0000)
commitc0e9800d45a2a08c95005385352a0ec9d6271498
tree73d8148e0e064ebe625108ef002f1142391e747f
parentddfc20dea4dbd3e9fea354696f8ed50d4f01eef8
Fix r194019 as requested by Eric Christopher.
Submit the basic port of the rest of ARM constant islands code to Mips.
Two test cases are added which reflect the next level of functionality:
constants getting moved to water areas that are out of range from the
initial placement at the end of the function and basic blocks being split to
create water when none exists that can be used. There is a bunch of this
code that is not complete and has been marked with IN_PROGRESS. I will
finish cleaning this all up during the next week or two and submit the
rest of the test cases. I have elminated some code for dealing with
inline assembly because to me it unecessarily complicates things and
some of the newer features of llvm like function attributies and builtin
assembler give me better tools to solve the alignment issues created
there. Also, for Mips16 I even have the option of not doing constant
islands in the present of inline assembler if I chose. When everything
has been completed I will summarize the port and notify people that
are knowledgable regarding the ARM Constant Islands code so they can
review it in it's entirety if they wish.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194053 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/Mips16InstrInfo.td
lib/Target/Mips/MipsConstantIslandPass.cpp
test/CodeGen/Mips/const4.ll [new file with mode: 0644]