aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2009-08-15Remove <iostream>.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79146 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Mingw also doesn't have st_blksize.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15An overhaul of the exception handling code. This is arguably more correct thanBill Wendling
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
2009-08-15Reapply r79127. It was fixed by d0k.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79136 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Revert r79127. It was causing compilation errors.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79135 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Don't try to get the context from an erased Instruction.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79134 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Unbreak build. Evan, please make sure my changes are correct.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79133 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15SSI construction should just go ahead and ignore instructions in unreachableNick Lewycky
blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79132 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Change allowsUnalignedMemoryAccesses to take type argument since some targetsEvan Cheng
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
2009-08-15Refine EarlyClobber assert in register scavenger.Jakob Stoklund Olesen
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
2009-08-15the .eh_frame sections we generate need to be writable (whichChris Lattner
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
2009-08-15Use the new API for creating an OpaqueType.Nicolas Geoffray
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79107 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15tidy upChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79101 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Update cpp generation with new LLVM API for primitive types.Nicolas Geoffray
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79098 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Revert a few changes that were done in 78603.Sanjiv Gupta
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
2009-08-15Don't setCalleeSavedInfoValid() until spills are interted.Jakob Stoklund Olesen
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
2009-08-15Allow double defs in the machine code verifier after the addPreRegAlloc passes.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79095 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Move XCore AsmPrinter to XCore/AsmPrinter directory.Richard Osborne
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79094 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Add support for the PowerPC 64-bit SVR4 ABI.Tilmann Scheller
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
2009-08-15Update LocalRewriter::DistanceMap when inserting stack loads.Jakob Stoklund Olesen
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
2009-08-1580 col violations.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Turn on if-conversion for thumb2.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15update for rename.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15rename PIC16Section.h -> MCSectionPIC16.h for consistency withChris Lattner
the class it defines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15cmake likes its explicit list of files to build.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79080 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15use XCore-specific section with xcore specific cp/dp flags to restore Chris Lattner
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
2009-08-15If ELF subtargets don't want to support 4/8/16-byte mergable sections, allow Chris Lattner
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
2009-08-15add support for target-specific ELF section flags, add a new MCSectionXCoreChris Lattner
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
2009-08-15Simplify a few more things, eliminating a few more dependencies onDan Gohman
"the current basic block". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79069 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Simplify this code to not depend as much on CurMBB.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79068 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Do not use frame register to reference fixed stack objects if the function ↵Evan Cheng
is frameless. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79067 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Always check to see if raw_fd_ostream's file descriptor is attached toDan Gohman
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
2009-08-15Add support for column computation on unbuffered streams.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Move FormattedStream's write_impl out of line.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Remove an unnecessary #include.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15switch DominanceFrontier::splitBlock to use a smallvector forChris Lattner
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
2009-08-15On x86-64, for a varargs function, don't store the xmm registers toDan Gohman
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
2009-08-14Do not completely skip subrange info for a zero sized array.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79044 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Leaf functions which do not save CSRs can be frameless even with ↵Evan Cheng
-disable-fp-elim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79039 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Allow targets to specify their choice of calling conventions perAnton Korobeynikov
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
2009-08-14Add Thumb2 lsr hooks.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79032 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.Daniel Dunbar
- 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
2009-08-14CMake: Corrected variable check.Oscar Fuentes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79030 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14*try* to use a better name to describe how common symbols are marked on the ↵Bruno Cardoso Lopes
elf object file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79029 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-1480 col violation.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79026 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14llvm-mc: When handling a .set, make sure to print subsequent references to theDaniel Dunbar
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
2009-08-14Cleanup the mess in msp430 target registration and hopefully unbreak the buildAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79024 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Indentation.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14llvm-mc: zerofill shouldn't print quotes around the section,segment.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79017 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14fix "pc" to be lower case in a target triple, patch by Yonggang LuoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79016 91177308-0d34-0410-b5e6-96231b3b80d8