oota-llvm.git
14 years agoExpose most of the IRBuilder functionality to ocaml.
Erick Tryzelaar [Sun, 16 Aug 2009 02:20:24 +0000 (02:20 +0000)]
Expose most of the IRBuilder functionality to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79161 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExpose most of the Constant creation functions to llvm-c.
Erick Tryzelaar [Sun, 16 Aug 2009 02:20:12 +0000 (02:20 +0000)]
Expose most of the Constant creation functions to llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79160 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExpose most of the rest of IRBuilder's functions to llvm-c.
Erick Tryzelaar [Sun, 16 Aug 2009 02:19:59 +0000 (02:19 +0000)]
Expose most of the rest of IRBuilder's functions to llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79159 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd more casts to the IRBuilder.
Erick Tryzelaar [Sun, 16 Aug 2009 02:19:46 +0000 (02:19 +0000)]
Add more casts to the IRBuilder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79158 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNeeds to check whether unaligned load / store of i64 is legal here.
Evan Cheng [Sat, 15 Aug 2009 23:41:42 +0000 (23:41 +0000)]
Needs to check whether unaligned load / store of i64 is legal here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79150 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove <iostream>.
Bill Wendling [Sat, 15 Aug 2009 22:28:08 +0000 (22:28 +0000)]
Remove <iostream>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79146 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert 78996. It was breaking MSVC builds.
Benjamin Kramer [Sat, 15 Aug 2009 21:57:01 +0000 (21:57 +0000)]
Revert 78996. It was breaking MSVC builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79144 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMingw also doesn't have st_blksize.
Dan Gohman [Sat, 15 Aug 2009 21:41:03 +0000 (21:41 +0000)]
Mingw also doesn't have st_blksize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79142 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix test on Linux.
Eli Friedman [Sat, 15 Aug 2009 21:28:17 +0000 (21:28 +0000)]
Fix test on Linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79140 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAn overhaul of the exception handling code. This is arguably more correct than
Bill Wendling [Sat, 15 Aug 2009 21:27:32 +0000 (21:27 +0000)]
An overhaul of the exception handling code. This is arguably more correct than
what was there before. In "no FP mode", we weren't generating labels and unwind
table entries after each "push" instruction. While more than likely "okay", it's
not technically correct. The major thing was that the ordering of when to define
a new CFA register and at what offset wasn't correct. This would cause the
exception handling to fail in ways most miserable to users.

I also cleaned up some code a bit. There's one function which has a "return" at
the beginning, so it's never used. Should I just remove it? :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79139 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd svn:ignore to a couple of directories.
Eli Friedman [Sat, 15 Aug 2009 21:22:20 +0000 (21:22 +0000)]
Add svn:ignore to a couple of directories.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79138 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply r79127. It was fixed by d0k.
Bill Wendling [Sat, 15 Aug 2009 21:21:19 +0000 (21:21 +0000)]
Reapply r79127. It was fixed by d0k.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79136 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r79127. It was causing compilation errors.
Bill Wendling [Sat, 15 Aug 2009 21:14:01 +0000 (21:14 +0000)]
Revert r79127. It was causing compilation errors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79135 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't try to get the context from an erased Instruction.
Benjamin Kramer [Sat, 15 Aug 2009 21:07:49 +0000 (21:07 +0000)]
Don't try to get the context from an erased Instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79134 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak build. Evan, please make sure my changes are correct.
Benjamin Kramer [Sat, 15 Aug 2009 20:46:16 +0000 (20:46 +0000)]
Unbreak build. Evan, please make sure my changes are correct.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79133 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSSI construction should just go ahead and ignore instructions in unreachable
Nick Lewycky [Sat, 15 Aug 2009 20:12:18 +0000 (20:12 +0000)]
SSI construction should just go ahead and ignore instructions in unreachable
blocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79132 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix validation errors.
Bill Wendling [Sat, 15 Aug 2009 20:08:04 +0000 (20:08 +0000)]
Fix validation errors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79131 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix validation errors.
Bill Wendling [Sat, 15 Aug 2009 20:07:42 +0000 (20:07 +0000)]
Fix validation errors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79130 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange allowsUnalignedMemoryAccesses to take type argument since some targets
Evan Cheng [Sat, 15 Aug 2009 19:23:44 +0000 (19:23 +0000)]
Change allowsUnalignedMemoryAccesses to take type argument since some targets
support unaligned mem access only for certain types. (Should it be size
instead?)

ARM v7 supports unaligned access for i16 and i32, some v6 variants support it
as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79127 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agowrap to 80 cols
Chris Lattner [Sat, 15 Aug 2009 18:33:10 +0000 (18:33 +0000)]
wrap to 80 cols

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79124 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoimplement support for CHECK-NEXT: in filecheck.
Chris Lattner [Sat, 15 Aug 2009 18:32:21 +0000 (18:32 +0000)]
implement support for CHECK-NEXT: in filecheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79123 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRefine EarlyClobber assert in register scavenger.
Jakob Stoklund Olesen [Sat, 15 Aug 2009 18:16:58 +0000 (18:16 +0000)]
Refine EarlyClobber assert in register scavenger.

It is legal for an inline asm operand to use an earlyclobber register if the
use operand is tied to the earlyclobber operand. The issue is discussed here:

  http://gcc.gnu.org/ml/gcc/1999-04n/msg00431.html

We should perhaps let only the machine code verifier worry about these finer
details. EarlyClobber operands are not really interesting to the scavenger.

This fixes PR4528 for the third time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79122 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agosimplify some code.
Chris Lattner [Sat, 15 Aug 2009 18:00:42 +0000 (18:00 +0000)]
simplify some code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79121 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorewrite FindStringInBuffer to use an explicit loop instead of
Chris Lattner [Sat, 15 Aug 2009 17:53:12 +0000 (17:53 +0000)]
rewrite FindStringInBuffer to use an explicit loop instead of
trying to wrap strstr which is just too inconvenient.  Make it
use a StringRef to avoid ".c_str()" calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79120 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoInstead of using an std::pair, use a custom struct.
Chris Lattner [Sat, 15 Aug 2009 17:41:04 +0000 (17:41 +0000)]
Instead of using an std::pair, use a custom struct.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79119 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agospecify a target triple so global variable manglings are consistent etc.
Chris Lattner [Sat, 15 Aug 2009 17:35:05 +0000 (17:35 +0000)]
specify a target triple so global variable manglings are consistent etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79118 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert to filecheck.
Chris Lattner [Sat, 15 Aug 2009 17:28:09 +0000 (17:28 +0000)]
convert to filecheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79117 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorename this test to sse2.ll
Chris Lattner [Sat, 15 Aug 2009 17:24:09 +0000 (17:24 +0000)]
rename this test to sse2.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79116 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomerge a bunch more sse3 tests into sse3.ll
Chris Lattner [Sat, 15 Aug 2009 17:21:44 +0000 (17:21 +0000)]
merge a bunch more sse3 tests into sse3.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79115 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert test to filecheck format.
Chris Lattner [Sat, 15 Aug 2009 17:05:03 +0000 (17:05 +0000)]
convert test to filecheck format.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79114 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorename test
Chris Lattner [Sat, 15 Aug 2009 17:01:44 +0000 (17:01 +0000)]
rename test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79113 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothis is a test for sse3, simplify it.
Chris Lattner [Sat, 15 Aug 2009 17:01:19 +0000 (17:01 +0000)]
this is a test for sse3, simplify it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79112 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothe .eh_frame sections we generate need to be writable (which
Chris Lattner [Sat, 15 Aug 2009 16:54:02 +0000 (16:54 +0000)]
the .eh_frame sections we generate need to be writable (which
is why they are datarel).  This should fix PR4724, and is fallout
from r78890.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79111 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodocument filecheck.
Chris Lattner [Sat, 15 Aug 2009 16:51:06 +0000 (16:51 +0000)]
document filecheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79110 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix pasto noticed by Jakub
Chris Lattner [Sat, 15 Aug 2009 16:18:56 +0000 (16:18 +0000)]
fix pasto noticed by Jakub

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79109 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse the new API for creating an OpaqueType.
Nicolas Geoffray [Sat, 15 Aug 2009 15:41:32 +0000 (15:41 +0000)]
Use the new API for creating an OpaqueType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79107 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a stub for futher description of filecheck.
Chris Lattner [Sat, 15 Aug 2009 15:40:48 +0000 (15:40 +0000)]
add a stub for futher description of filecheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79106 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a simple FileCheck man page.
Chris Lattner [Sat, 15 Aug 2009 15:38:11 +0000 (15:38 +0000)]
add a simple FileCheck man page.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79105 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotidy up
Chris Lattner [Sat, 15 Aug 2009 15:08:28 +0000 (15:08 +0000)]
tidy up

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79101 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate cpp generation with new LLVM API for primitive types.
Nicolas Geoffray [Sat, 15 Aug 2009 14:47:42 +0000 (14:47 +0000)]
Update cpp generation with new LLVM API for primitive types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79098 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert a few changes that were done in 78603.
Sanjiv Gupta [Sat, 15 Aug 2009 14:36:48 +0000 (14:36 +0000)]
Revert a few changes that were done in 78603.
PIC16DebugInfo currently rely on NameStr of composite type descriptors to uniquely
identify debug info for two aggregate type decls with same name.
This implementation will change when we have MDNodes based debug info implemenatation in place

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79097 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't setCalleeSavedInfoValid() until spills are interted.
Jakob Stoklund Olesen [Sat, 15 Aug 2009 13:10:46 +0000 (13:10 +0000)]
Don't setCalleeSavedInfoValid() until spills are interted.

In a naked function, the flag is never set and getPristineRegs() returns an
empty list. That means naked functions are able to clobber callee saved
registers, but that is the whole point of naked functions.

This fixes PR4716.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79096 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAllow double defs in the machine code verifier after the addPreRegAlloc passes.
Jakob Stoklund Olesen [Sat, 15 Aug 2009 13:10:15 +0000 (13:10 +0000)]
Allow double defs in the machine code verifier after the addPreRegAlloc passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79095 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove XCore AsmPrinter to XCore/AsmPrinter directory.
Richard Osborne [Sat, 15 Aug 2009 12:53:15 +0000 (12:53 +0000)]
Move XCore AsmPrinter to XCore/AsmPrinter directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79094 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd XFAIL testcase for setcc undef.
Jakob Stoklund Olesen [Sat, 15 Aug 2009 12:10:22 +0000 (12:10 +0000)]
Add XFAIL testcase for setcc undef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79093 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd XFAIL test case for a scavenger assert.
Jakob Stoklund Olesen [Sat, 15 Aug 2009 12:09:56 +0000 (12:09 +0000)]
Add XFAIL test case for a scavenger assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79092 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd support for the PowerPC 64-bit SVR4 ABI.
Tilmann Scheller [Sat, 15 Aug 2009 11:54:46 +0000 (11:54 +0000)]
Add support for the PowerPC 64-bit SVR4 ABI.

The Link Register is volatile when using the 32-bit SVR4 ABI.
Make it possible to use the 64-bit SVR4 ABI.
Add non-volatile registers for the 64-bit SVR4 ABI.
Make sure r2 is a reserved register when using the 64-bit SVR4 ABI.
Update PPCFrameInfo for the 64-bit SVR4 ABI.
Add FIXME for 64-bit Darwin PPC.
Insert NOP instruction after direct function calls.
Emit official procedure descriptors.
Create TOC entries for GlobalAddress references.
Spill 64-bit non-volatile registers to the correct slots.
Only custom lower VAARG when using the 32-bit SVR4 ABI.
Use simple VASTART lowering for the 64-bit SVR4 ABI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79091 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate LocalRewriter::DistanceMap when inserting stack loads.
Jakob Stoklund Olesen [Sat, 15 Aug 2009 11:03:03 +0000 (11:03 +0000)]
Update LocalRewriter::DistanceMap when inserting stack loads.

In the included test case, a stack load was not included in DistanceMap. That
caused TransferDeadness to ignore the instruction, leading to a scavenger
assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79090 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReformatting and some cleanup.
Bill Wendling [Sat, 15 Aug 2009 08:56:09 +0000 (08:56 +0000)]
Reformatting and some cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79088 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago80 col violations.
Evan Cheng [Sat, 15 Aug 2009 08:38:52 +0000 (08:38 +0000)]
80 col violations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79087 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix tests.
Evan Cheng [Sat, 15 Aug 2009 08:23:11 +0000 (08:23 +0000)]
Fix tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79086 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTurn on if-conversion for thumb2.
Evan Cheng [Sat, 15 Aug 2009 07:59:10 +0000 (07:59 +0000)]
Turn on if-conversion for thumb2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79084 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoupdate for rename.
Chris Lattner [Sat, 15 Aug 2009 06:14:07 +0000 (06:14 +0000)]
update for rename.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79082 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorename PIC16Section.h -> MCSectionPIC16.h for consistency with
Chris Lattner [Sat, 15 Aug 2009 06:13:40 +0000 (06:13 +0000)]
rename PIC16Section.h -> MCSectionPIC16.h for consistency with
the class it defines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79081 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocmake likes its explicit list of files to build.
Chris Lattner [Sat, 15 Aug 2009 06:10:23 +0000 (06:10 +0000)]
cmake likes its explicit list of files to build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79080 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agouse XCore-specific section with xcore specific cp/dp flags to restore
Chris Lattner [Sat, 15 Aug 2009 06:09:35 +0000 (06:09 +0000)]
use XCore-specific section with xcore specific cp/dp flags to restore
support for globals going into the appropriate sections with the flags.

This hopefully finishes unbreaking the previous behavior that I broke before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79079 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIf ELF subtargets don't want to support 4/8/16-byte mergable sections, allow
Chris Lattner [Sat, 15 Aug 2009 06:08:34 +0000 (06:08 +0000)]
If ELF subtargets don't want to support 4/8/16-byte mergable sections, allow
them to null out the default section pointers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79078 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd support for target-specific ELF section flags, add a new MCSectionXCore
Chris Lattner [Sat, 15 Aug 2009 05:56:11 +0000 (05:56 +0000)]
add support for target-specific ELF section flags, add a new MCSectionXCore
class which represents the XCore cp/dp section flags.  No functionality
change yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79077 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSimplify a few more things, eliminating a few more dependencies on
Dan Gohman [Sat, 15 Aug 2009 02:07:36 +0000 (02:07 +0000)]
Simplify a few more things, eliminating a few more dependencies on
"the current basic block".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79069 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSimplify this code to not depend as much on CurMBB.
Dan Gohman [Sat, 15 Aug 2009 02:06:22 +0000 (02:06 +0000)]
Simplify this code to not depend as much on CurMBB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79068 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not use frame register to reference fixed stack objects if the function is frameless.
Evan Cheng [Sat, 15 Aug 2009 02:05:35 +0000 (02:05 +0000)]
Do not use frame register to reference fixed stack objects if the function is frameless.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79067 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAlways check to see if raw_fd_ostream's file descriptor is attached to
Dan Gohman [Sat, 15 Aug 2009 02:05:19 +0000 (02:05 +0000)]
Always check to see if raw_fd_ostream's file descriptor is attached to
a terminal, not just when it's STDOUT_FILENO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79066 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd support for column computation on unbuffered streams.
Dan Gohman [Sat, 15 Aug 2009 02:02:59 +0000 (02:02 +0000)]
Add support for column computation on unbuffered streams.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79065 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove FormattedStream's write_impl out of line.
Dan Gohman [Sat, 15 Aug 2009 02:01:04 +0000 (02:01 +0000)]
Move FormattedStream's write_impl out of line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79064 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove an unnecessary #include.
Dan Gohman [Sat, 15 Aug 2009 01:56:38 +0000 (01:56 +0000)]
Remove an unnecessary #include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79063 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoswitch DominanceFrontier::splitBlock to use a smallvector for
Chris Lattner [Sat, 15 Aug 2009 01:39:28 +0000 (01:39 +0000)]
switch DominanceFrontier::splitBlock to use a smallvector for
the pred list instead of a vector, saving a boat load of malloc/free's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79062 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOn x86-64, for a varargs function, don't store the xmm registers to
Dan Gohman [Sat, 15 Aug 2009 01:38:56 +0000 (01:38 +0000)]
On x86-64, for a varargs function, don't store the xmm registers to
the register save area if %al is 0. This avoids touching xmm
regsiters when they aren't actually used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79061 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not completely skip subrange info for a zero sized array.
Devang Patel [Fri, 14 Aug 2009 20:59:16 +0000 (20:59 +0000)]
Do not completely skip subrange info for a zero sized array.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79044 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLeaf functions which do not save CSRs can be frameless even with -disable-fp-elim.
Evan Cheng [Fri, 14 Aug 2009 20:48:13 +0000 (20:48 +0000)]
Leaf functions which do not save CSRs can be frameless even with -disable-fp-elim.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79039 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: Updated library dependence info.
Oscar Fuentes [Fri, 14 Aug 2009 20:30:18 +0000 (20:30 +0000)]
CMake: Updated library dependence info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79038 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd sse4.2 string/text processing intrinsics. We'll select these later.
Eric Christopher [Fri, 14 Aug 2009 20:27:57 +0000 (20:27 +0000)]
Add sse4.2 string/text processing intrinsics. We'll select these later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79037 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhitespace cleanup.
Eric Christopher [Fri, 14 Aug 2009 20:27:12 +0000 (20:27 +0000)]
Whitespace cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79036 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAllow targets to specify their choice of calling conventions per
Anton Korobeynikov [Fri, 14 Aug 2009 20:10:52 +0000 (20:10 +0000)]
Allow targets to specify their choice of calling conventions per
libcall. Take advantage of this in the ARM backend to rectify broken
choice of CC when hard float is in effect. PIC16 may want to see if
it could be of use in MakePIC16Libcall, which works unchanged.

Patch by Sandeep!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79033 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd Thumb2 lsr hooks.
Evan Cheng [Fri, 14 Aug 2009 20:09:37 +0000 (20:09 +0000)]
Add Thumb2 lsr hooks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79032 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-mc: Fix bugs where bytes were unintentionally being printed as signed.
Daniel Dunbar [Fri, 14 Aug 2009 19:59:24 +0000 (19:59 +0000)]
llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.
 - We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two
   'rep;movsl' instructions (which I missed before).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79031 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: Corrected variable check.
Oscar Fuentes [Fri, 14 Aug 2009 19:56:04 +0000 (19:56 +0000)]
CMake: Corrected variable check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79030 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago*try* to use a better name to describe how common symbols are marked on the elf objec...
Bruno Cardoso Lopes [Fri, 14 Aug 2009 19:45:38 +0000 (19:45 +0000)]
*try* to use a better name to describe how common symbols are marked on the elf object file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79029 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd doxygen comments.
Owen Anderson [Fri, 14 Aug 2009 19:41:50 +0000 (19:41 +0000)]
Add doxygen comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79027 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago80 col violation.
Evan Cheng [Fri, 14 Aug 2009 19:11:20 +0000 (19:11 +0000)]
80 col violation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79026 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-mc: When handling a .set, make sure to print subsequent references to the
Daniel Dunbar [Fri, 14 Aug 2009 19:10:46 +0000 (19:10 +0000)]
llvm-mc: When handling a .set, make sure to print subsequent references to the
symbol as the symbol name itself, not the expression it was defined to. These
have different semantics due to the quirky .set behavior (which absolutizes an
expression that would otherwise be treated as a relocation).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79025 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCleanup the mess in msp430 target registration and hopefully unbreak the build
Anton Korobeynikov [Fri, 14 Aug 2009 19:06:50 +0000 (19:06 +0000)]
Cleanup the mess in msp430 target registration and hopefully unbreak the build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79024 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r78424.
Argyrios Kyrtzidis [Fri, 14 Aug 2009 19:01:37 +0000 (19:01 +0000)]
Revert r78424.

In order for the changes in r78424 to work properly, cast_retty<X,Y> should return an object instead of a reference, and it's not clear that this approach has real advantages.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79023 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIndentation.
Evan Cheng [Fri, 14 Aug 2009 19:01:37 +0000 (19:01 +0000)]
Indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79022 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoForce reconfigure
Anton Korobeynikov [Fri, 14 Aug 2009 18:53:19 +0000 (18:53 +0000)]
Force reconfigure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79019 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-mc: zerofill shouldn't print quotes around the section,segment.
Daniel Dunbar [Fri, 14 Aug 2009 18:51:45 +0000 (18:51 +0000)]
llvm-mc: zerofill shouldn't print quotes around the section,segment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79017 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix "pc" to be lower case in a target triple, patch by Yonggang Luo
Chris Lattner [Fri, 14 Aug 2009 18:48:13 +0000 (18:48 +0000)]
fix "pc" to be lower case in a target triple, patch by Yonggang Luo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79016 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHopefully unbreak cmake builds
Anton Korobeynikov [Fri, 14 Aug 2009 18:46:49 +0000 (18:46 +0000)]
Hopefully unbreak cmake builds

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79015 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAlso shrink immediate branches; also more assembler workarounds.
Evan Cheng [Fri, 14 Aug 2009 18:31:44 +0000 (18:31 +0000)]
Also shrink immediate branches; also more assembler workarounds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79014 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoGive MSP430 a separate asmprinter lib
Anton Korobeynikov [Fri, 14 Aug 2009 18:28:12 +0000 (18:28 +0000)]
Give MSP430 a separate asmprinter lib

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79012 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-mc: Support escaped characters in string literals (for .ascii and .asciz)
Daniel Dunbar [Fri, 14 Aug 2009 18:19:52 +0000 (18:19 +0000)]
llvm-mc: Support escaped characters in string literals (for .ascii and .asciz)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79010 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProperly handle indirect win64 args when they're passed in memory
Anton Korobeynikov [Fri, 14 Aug 2009 18:19:10 +0000 (18:19 +0000)]
Properly handle indirect win64 args when they're passed in memory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79009 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoGet the CPP backend into some semblance of working by updating for numerous LLVMConte...
Owen Anderson [Fri, 14 Aug 2009 17:41:33 +0000 (17:41 +0000)]
Get the CPP backend into some semblance of working by updating for numerous LLVMContext changes,
as well as the StringRef change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79006 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: Automatic regeneration of the library dependencies file.
Oscar Fuentes [Fri, 14 Aug 2009 16:59:41 +0000 (16:59 +0000)]
CMake: Automatic regeneration of the library dependencies file.

It doesn't stop or reconfigure the build, though, so the user will see
a broken build that magically succeeds at the next attempt. It is
technically possible to halt the build with a helpful message, and
even to automatically restart the build using the new dependencies as
it we did when llvm-config was used by cmake for learning
dependencies. This is left on the TODO list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79004 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTake another shot at disabling this when no ppc support is available.
Daniel Dunbar [Fri, 14 Aug 2009 16:40:12 +0000 (16:40 +0000)]
Take another shot at disabling this when no ppc support is available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79003 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoA couple IRBuilder functions were still using getGlobalContext().
Erick Tryzelaar [Fri, 14 Aug 2009 06:12:30 +0000 (06:12 +0000)]
A couple IRBuilder functions were still using getGlobalContext().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78997 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: Builds main LLVM Target library before its sublibraries. This
Oscar Fuentes [Fri, 14 Aug 2009 05:17:24 +0000 (05:17 +0000)]
CMake: Builds main LLVM Target library before its sublibraries. This
way we ensure that tablegenned files exist before they are #include'd
by the LLVM Target sublibraries. Required for parallel builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78996 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNow that all the legal Neon shuffles (or at least the ones that have been
Bob Wilson [Fri, 14 Aug 2009 05:16:33 +0000 (05:16 +0000)]
Now that all the legal Neon shuffles (or at least the ones that have been
implemented so far) are recognized during legalization, it is easy to fall
back to the default expansion for other shuffles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78995 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCreate a new ARM-specific DAG node, VDUP, to represent a splat from a
Bob Wilson [Fri, 14 Aug 2009 05:13:08 +0000 (05:13 +0000)]
Create a new ARM-specific DAG node, VDUP, to represent a splat from a
scalar_to_vector.  Generate these VDUP nodes during legalization instead
of trying to recognize the pattern during selection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78994 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDuring legalization, change Neon vdup_lane operations from shuffles to
Bob Wilson [Fri, 14 Aug 2009 05:08:32 +0000 (05:08 +0000)]
During legalization, change Neon vdup_lane operations from shuffles to
target-specific VDUPLANE nodes.  This allows the subreg handling for the
quad-register version to be done easily with Pats in the .td file, instead
of with custom code in ARMISelDAGToDAG.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78993 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: Corrected indentation on a block of code.
Oscar Fuentes [Fri, 14 Aug 2009 04:55:21 +0000 (04:55 +0000)]
CMake: Corrected indentation on a block of code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78992 91177308-0d34-0410-b5e6-96231b3b80d8