Commit Graph

66105 Commits

Author SHA1 Message Date
Benjamin Kramer 693a9c57a6 Don't try to get the context from an erased Instruction.
llvm-svn: 79134
2009-08-15 21:07:49 +00:00
Benjamin Kramer d2d5e716bd Unbreak build. Evan, please make sure my changes are correct.
llvm-svn: 79133
2009-08-15 20:46:16 +00:00
Nick Lewycky dd0e74ceee SSI construction should just go ahead and ignore instructions in unreachable
blocks.

llvm-svn: 79132
2009-08-15 20:12:18 +00:00
Bill Wendling 4c1b9b02c5 Fix validation errors.
llvm-svn: 79131
2009-08-15 20:08:04 +00:00
Bill Wendling 527241b35e Fix validation errors.
llvm-svn: 79130
2009-08-15 20:07:42 +00:00
Eli Friedman e99c9c5b60 Ignore -Wno-import.
llvm-svn: 79128
2009-08-15 19:28:53 +00:00
Evan Cheng 52d4e64711 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.

llvm-svn: 79127
2009-08-15 19:23:44 +00:00
Eli Friedman da8d4def72 Don't perform integer promotions on the operand to a cast; this
simplifies the AST, and can matter in some rare cases involving 
casts to vector types. Patch by Enea Zaffanella.

llvm-svn: 79126
2009-08-15 19:02:19 +00:00
Fariborz Jahanian 0aed0225b4 Improved on ir-gen for synthesis of non-trivial default
constructor body whose class has non-static data-members which
required non-trivial construction.

llvm-svn: 79125
2009-08-15 18:55:17 +00:00
Chris Lattner 724af2ca77 wrap to 80 cols
llvm-svn: 79124
2009-08-15 18:33:10 +00:00
Chris Lattner da108b4ed4 implement support for CHECK-NEXT: in filecheck.
llvm-svn: 79123
2009-08-15 18:32:21 +00:00
Jakob Stoklund Olesen ffa73acfec 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.

llvm-svn: 79122
2009-08-15 18:16:58 +00:00
Chris Lattner 10f10ced3f simplify some code.
llvm-svn: 79121
2009-08-15 18:00:42 +00:00
Chris Lattner 6a7b917e32 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.

llvm-svn: 79120
2009-08-15 17:53:12 +00:00
Chris Lattner 26cccfe1bc Instead of using an std::pair, use a custom struct.
llvm-svn: 79119
2009-08-15 17:41:04 +00:00
Chris Lattner c6a803be7c specify a target triple so global variable manglings are consistent etc.
llvm-svn: 79118
2009-08-15 17:35:05 +00:00
Chris Lattner 3838c2dabf convert to filecheck.
llvm-svn: 79117
2009-08-15 17:28:09 +00:00
Chris Lattner bb193ecec8 rename this test to sse2.ll
llvm-svn: 79116
2009-08-15 17:24:09 +00:00
Chris Lattner d3954e2790 merge a bunch more sse3 tests into sse3.ll
llvm-svn: 79115
2009-08-15 17:21:44 +00:00
Chris Lattner 9bae01ec47 convert test to filecheck format.
llvm-svn: 79114
2009-08-15 17:05:03 +00:00
Chris Lattner 912aa19c25 rename test
llvm-svn: 79113
2009-08-15 17:01:44 +00:00
Chris Lattner e5b9130efe this is a test for sse3, simplify it.
llvm-svn: 79112
2009-08-15 17:01:19 +00:00
Chris Lattner 447b9b43a3 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.

llvm-svn: 79111
2009-08-15 16:54:02 +00:00
Chris Lattner 3ee64e8f4b document filecheck.
llvm-svn: 79110
2009-08-15 16:51:06 +00:00
Chris Lattner e9ba80db30 fix pasto noticed by Jakub
llvm-svn: 79109
2009-08-15 16:18:56 +00:00
Nicolas Geoffray 78e0ffa25f Use the new API for creating an OpaqueType.
llvm-svn: 79107
2009-08-15 15:41:32 +00:00
Chris Lattner 7e11b725f4 add a stub for futher description of filecheck.
llvm-svn: 79106
2009-08-15 15:40:48 +00:00
Chris Lattner 878e2b7deb add a simple FileCheck man page.
llvm-svn: 79105
2009-08-15 15:38:11 +00:00
Chris Lattner ee500a5d19 tidy up
llvm-svn: 79101
2009-08-15 15:08:28 +00:00
Nicolas Geoffray aee49c29ff Update cpp generation with new LLVM API for primitive types.
llvm-svn: 79098
2009-08-15 14:47:42 +00:00
Sanjiv Gupta 1e5027aaef 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

llvm-svn: 79097
2009-08-15 14:36:48 +00:00
Jakob Stoklund Olesen 4af3c864bc 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.

llvm-svn: 79096
2009-08-15 13:10:46 +00:00
Jakob Stoklund Olesen 766352fbd2 Allow double defs in the machine code verifier after the addPreRegAlloc passes.
llvm-svn: 79095
2009-08-15 13:10:15 +00:00
Richard Osborne ddd1d4e0f2 Move XCore AsmPrinter to XCore/AsmPrinter directory.
llvm-svn: 79094
2009-08-15 12:53:15 +00:00
Jakob Stoklund Olesen e31228e636 Add XFAIL testcase for setcc undef.
llvm-svn: 79093
2009-08-15 12:10:22 +00:00
Jakob Stoklund Olesen 46da62b174 Add XFAIL test case for a scavenger assert.
llvm-svn: 79092
2009-08-15 12:09:56 +00:00
Tilmann Scheller d1aaa3243a 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.

llvm-svn: 79091
2009-08-15 11:54:46 +00:00
Jakob Stoklund Olesen abff8fcb1c 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.

llvm-svn: 79090
2009-08-15 11:03:03 +00:00
Bill Wendling 365ab60d7a Reformatting and some cleanup.
llvm-svn: 79088
2009-08-15 08:56:09 +00:00
Evan Cheng 567f124305 80 col violations.
llvm-svn: 79087
2009-08-15 08:38:52 +00:00
Evan Cheng d7e1a79eea Fix tests.
llvm-svn: 79086
2009-08-15 08:23:11 +00:00
Evan Cheng 6ddd7bcdd1 Turn on if-conversion for thumb2.
llvm-svn: 79084
2009-08-15 07:59:10 +00:00
Chris Lattner 84ff2c9348 update for rename.
llvm-svn: 79082
2009-08-15 06:14:07 +00:00
Chris Lattner 6362cbe64e rename PIC16Section.h -> MCSectionPIC16.h for consistency with
the class it defines.

llvm-svn: 79081
2009-08-15 06:13:40 +00:00
Chris Lattner 4b9ea39e76 cmake likes its explicit list of files to build.
llvm-svn: 79080
2009-08-15 06:10:23 +00:00
Chris Lattner 93980d68e4 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.

llvm-svn: 79079
2009-08-15 06:09:35 +00:00
Chris Lattner ddb991c255 If ELF subtargets don't want to support 4/8/16-byte mergable sections, allow
them to null out the default section pointers.

llvm-svn: 79078
2009-08-15 06:08:34 +00:00
Chris Lattner 0fbe0f51a4 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.

llvm-svn: 79077
2009-08-15 05:56:11 +00:00
Eli Friedman 2be79b3608 Add an additional C++ hardcoded search path.
llvm-svn: 79075
2009-08-15 03:45:14 +00:00
Eli Friedman b360412582 Make test more precise.
llvm-svn: 79074
2009-08-15 03:40:49 +00:00