summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove <iostream>.Bill Wendling2009-08-151-20/+17
| | | | llvm-svn: 79146
* Mingw also doesn't have st_blksize.Dan Gohman2009-08-151-1/+1
| | | | llvm-svn: 79142
* An overhaul of the exception handling code. This is arguably more correct thanBill Wendling2009-08-151-55/+81
| | | | | | | | | | | | | 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? :-) llvm-svn: 79139
* Reapply r79127. It was fixed by d0k.Bill Wendling2009-08-155-9/+43
| | | | llvm-svn: 79136
* Revert r79127. It was causing compilation errors.Bill Wendling2009-08-155-43/+9
| | | | llvm-svn: 79135
* Don't try to get the context from an erased Instruction.Benjamin Kramer2009-08-151-1/+1
| | | | llvm-svn: 79134
* Unbreak build. Evan, please make sure my changes are correct.Benjamin Kramer2009-08-153-6/+5
| | | | llvm-svn: 79133
* SSI construction should just go ahead and ignore instructions in unreachableNick Lewycky2009-08-151-2/+6
| | | | | | blocks. llvm-svn: 79132
* Change allowsUnalignedMemoryAccesses to take type argument since some targetsEvan Cheng2009-08-155-9/+43
| | | | | | | | | | 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
* Refine EarlyClobber assert in register scavenger.Jakob Stoklund Olesen2009-08-151-1/+1
| | | | | | | | | | | | | | 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
* the .eh_frame sections we generate need to be writable (whichChris Lattner2009-08-151-1/+2
| | | | | | | is why they are datarel). This should fix PR4724, and is fallout from r78890. llvm-svn: 79111
* Use the new API for creating an OpaqueType.Nicolas Geoffray2009-08-151-2/+4
| | | | llvm-svn: 79107
* tidy upChris Lattner2009-08-151-1/+2
| | | | llvm-svn: 79101
* Update cpp generation with new LLVM API for primitive types.Nicolas Geoffray2009-08-151-6/+7
| | | | llvm-svn: 79098
* Revert a few changes that were done in 78603.Sanjiv Gupta2009-08-152-14/+15
| | | | | | | | 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
* Don't setCalleeSavedInfoValid() until spills are interted.Jakob Stoklund Olesen2009-08-151-2/+2
| | | | | | | | | | 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
* Allow double defs in the machine code verifier after the addPreRegAlloc passes.Jakob Stoklund Olesen2009-08-151-1/+1
| | | | llvm-svn: 79095
* Move XCore AsmPrinter to XCore/AsmPrinter directory.Richard Osborne2009-08-156-9/+32
| | | | llvm-svn: 79094
* Add support for the PowerPC 64-bit SVR4 ABI.Tilmann Scheller2009-08-159-72/+361
| | | | | | | | | | | | | | | | | 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
* Update LocalRewriter::DistanceMap when inserting stack loads.Jakob Stoklund Olesen2009-08-151-0/+3
| | | | | | | | 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
* 80 col violations.Evan Cheng2009-08-151-12/+12
| | | | llvm-svn: 79087
* Turn on if-conversion for thumb2.Evan Cheng2009-08-159-51/+57
| | | | llvm-svn: 79084
* update for rename.Chris Lattner2009-08-151-2/+2
| | | | llvm-svn: 79082
* rename PIC16Section.h -> MCSectionPIC16.h for consistency withChris Lattner2009-08-153-2/+2
| | | | | | the class it defines. llvm-svn: 79081
* cmake likes its explicit list of files to build.Chris Lattner2009-08-151-0/+1
| | | | llvm-svn: 79080
* use XCore-specific section with xcore specific cp/dp flags to restore Chris Lattner2009-08-151-14/+26
| | | | | | | | 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
* If ELF subtargets don't want to support 4/8/16-byte mergable sections, allow Chris Lattner2009-08-151-3/+3
| | | | | | them to null out the default section pointers. llvm-svn: 79078
* add support for target-specific ELF section flags, add a new MCSectionXCoreChris Lattner2009-08-153-4/+95
| | | | | | | class which represents the XCore cp/dp section flags. No functionality change yet. llvm-svn: 79077
* Simplify a few more things, eliminating a few more dependencies onDan Gohman2009-08-152-3/+1
| | | | | | "the current basic block". llvm-svn: 79069
* Simplify this code to not depend as much on CurMBB.Dan Gohman2009-08-151-16/+15
| | | | llvm-svn: 79068
* Do not use frame register to reference fixed stack objects if the function ↵Evan Cheng2009-08-152-13/+14
| | | | | | is frameless. llvm-svn: 79067
* Always check to see if raw_fd_ostream's file descriptor is attached toDan Gohman2009-08-151-13/+16
| | | | | | a terminal, not just when it's STDOUT_FILENO. llvm-svn: 79066
* Add support for column computation on unbuffered streams.Dan Gohman2009-08-151-15/+38
| | | | llvm-svn: 79065
* Move FormattedStream's write_impl out of line.Dan Gohman2009-08-151-0/+6
| | | | llvm-svn: 79064
* Remove an unnecessary #include.Dan Gohman2009-08-151-1/+0
| | | | llvm-svn: 79063
* switch DominanceFrontier::splitBlock to use a smallvector forChris Lattner2009-08-151-2/+2
| | | | | | the pred list instead of a vector, saving a boat load of malloc/free's. llvm-svn: 79062
* On x86-64, for a varargs function, don't store the xmm registers toDan Gohman2009-08-153-18/+126
| | | | | | | the register save area if %al is 0. This avoids touching xmm regsiters when they aren't actually used. llvm-svn: 79061
* Do not completely skip subrange info for a zero sized array.Devang Patel2009-08-141-6/+5
| | | | llvm-svn: 79044
* Leaf functions which do not save CSRs can be frameless even with ↵Evan Cheng2009-08-142-1/+10
| | | | | | -disable-fp-elim. llvm-svn: 79039
* Allow targets to specify their choice of calling conventions perAnton Korobeynikov2009-08-146-6/+27
| | | | | | | | | | 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! llvm-svn: 79033
* Add Thumb2 lsr hooks.Evan Cheng2009-08-142-36/+106
| | | | llvm-svn: 79032
* llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.Daniel Dunbar2009-08-141-1/+1
| | | | | | | - We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two 'rep;movsl' instructions (which I missed before). llvm-svn: 79031
* CMake: Corrected variable check.Oscar Fuentes2009-08-141-1/+1
| | | | llvm-svn: 79030
* *try* to use a better name to describe how common symbols are marked on the ↵Bruno Cardoso Lopes2009-08-142-3/+5
| | | | | | elf object file. llvm-svn: 79029
* 80 col violation.Evan Cheng2009-08-141-1/+2
| | | | llvm-svn: 79026
* llvm-mc: When handling a .set, make sure to print subsequent references to theDaniel Dunbar2009-08-141-2/+9
| | | | | | | | 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). llvm-svn: 79025
* Cleanup the mess in msp430 target registration and hopefully unbreak the buildAnton Korobeynikov2009-08-142-5/+10
| | | | llvm-svn: 79024
* Indentation.Evan Cheng2009-08-141-1/+1
| | | | llvm-svn: 79022
* llvm-mc: zerofill shouldn't print quotes around the section,segment.Daniel Dunbar2009-08-141-2/+1
| | | | llvm-svn: 79017
* fix "pc" to be lower case in a target triple, patch by Yonggang LuoChris Lattner2009-08-141-1/+1
| | | | llvm-svn: 79016
OpenPOWER on IntegriCloud