aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Lower stpcpy_chk when possible.Eric Christopher2010-03-114-6/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98274 91177308-0d34-0410-b5e6-96231b3b80d8
* Bad bad bug. x86 force indirect tail call address into eax when it's meant ↵Evan Cheng2010-03-112-3/+3
| | | | | | to force it into a call preserved register instead. Change it to ecx for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98270 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code. (S|U)MUL_LO is now lowered to LMUL or MACC(S|U)Richard Osborne2010-03-111-23/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98269 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid leaking CompileUnits in DwarfDebug.cpp.Jeffrey Yasskin2010-03-112-14/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98268 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Add MCSymbolData::getAddress() utility.Daniel Dunbar2010-03-112-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98266 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Eric Christopher2010-03-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98260 91177308-0d34-0410-b5e6-96231b3b80d8
* Add dag combine to simplify lmul(x, 0, a, b)Richard Osborne2010-03-112-0/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98258 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch XCore over to using inline jump table entries.Richard Osborne2010-03-112-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98256 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new jump table encoding to indicate jump tables entriesRichard Osborne2010-03-114-1/+16
| | | | | | | are inside the function by the target at the point of use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98255 91177308-0d34-0410-b5e6-96231b3b80d8
* The check for coalescing a virtual register to a physical register, e.g.Evan Cheng2010-03-114-15/+61
| | | | | | | | | | cl = EXTRACT_SUBREG reg1024, 1, is overly conservative. It should check for overlaps of vr's live interval with the super registers of the physical register (ECX in this case) and let JoinIntervals() handle checking the coalescing feasibility against the physical register (cl in this case). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98251 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake build.Ted Kremenek2010-03-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98250 91177308-0d34-0410-b5e6-96231b3b80d8
* Have fast-isel understand llvm.objectsize. Update testcase for slightlyEric Christopher2010-03-112-1/+25
| | | | | | | different codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98244 91177308-0d34-0410-b5e6-96231b3b80d8
* Make clang bootstrap happier on OSX 10.5 by reducing the number of headersJeffrey Yasskin2010-03-112-39/+67
| | | | | | | | | | included when using global symbols to ask the linker for the addresses of various functions. One of the symbols was actually getting declared by a header included in DynamicLibrary.cpp, which conflicted with the "extern void*" declaration in SearchForAddressOfSpecialSymbol(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98243 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Implement "absolutizing" semantics of .set, by evaluating the ↵Daniel Dunbar2010-03-113-4/+99
| | | | | | assembly time value of variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98241 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Start passing in the basic MCAsmLayout object.Daniel Dunbar2010-03-112-27/+15
| | | | | | - Also, drop the current location part of AsmLayout, I think I prefer to implement this via explicit symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98240 91177308-0d34-0410-b5e6-96231b3b80d8
* Do some final lowering in CodeGenPrepare of _chk calls similar toEric Christopher2010-03-111-0/+134
| | | | | | | | | that in InstCombineCalls. More call lowering needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98228 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Sketch initial MCAsmLayout class, which encapsulates the current layout ↵Daniel Dunbar2010-03-116-14/+72
| | | | | | of an assembly file. The MCAsmLayout is also available for use by MCExpr::EvaluateAs{Absolute,Relocatable}, to allow target specific hooks and "absolutizing" of symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98227 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix (unused) RegisterAsmBackend template, clang++ isn't happy about this.Daniel Dunbar2010-03-111-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98226 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead include.Daniel Dunbar2010-03-111-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98225 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix debug_value handling.Dale Johannesen2010-03-111-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98224 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Provide MCAssembler with a TargetAsmBackend.Daniel Dunbar2010-03-117-23/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98222 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Sketch some TargetAsmBackend hooks we are going to need.Daniel Dunbar2010-03-112-2/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98221 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Provide the target triple to AsmBackend constructors.Daniel Dunbar2010-03-113-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98220 91177308-0d34-0410-b5e6-96231b3b80d8
* Add strncpy libcall creator. Use it when it should be used.Eric Christopher2010-03-113-1/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98219 91177308-0d34-0410-b5e6-96231b3b80d8
* When outputing a non-lazy pointer for a stub, we may need to fill in the valueBill Wendling2010-03-111-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | for the NLP because the object it's pointing to may be internal to the file. This seems counter-intuitive, but bear with me. When we place the LSDA into the TEXT section, the type info pointers need to be indirect and pc-rel. We accomplish this by using NLPs. However, sometimes the types are local to the file. GCC gets around this by not using a NLP in this case, but a "regular" indirection like this: GCC_except_tbl: .long Lfoo-. __ZTIA: @ This is local ... Lfoo: .long __ZTIA LLVM prefers NLPs on Darwin. In fact, it's more optimal for load performance to use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98218 91177308-0d34-0410-b5e6-96231b3b80d8
* Added Thumb2 LDRD/STRD pre/post variants for disassembly only.Johnny Chen2010-03-113-2/+25
| | | | | | Plus fixed the encoding of t2LDRDpci such that P = 1 and W = 0 (offset mode). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98217 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure HasDebugValue is initialized. This should fixDale Johannesen2010-03-111-3/+3
| | | | | | | | the buildbot running valgrind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98216 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix ARM buildbot breakage.Bob Wilson2010-03-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98215 91177308-0d34-0410-b5e6-96231b3b80d8
* add support, testcases, and dox for the new GHC callingChris Lattner2010-03-119-17/+219
| | | | | | | | convention. Patch by David Terei! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98212 91177308-0d34-0410-b5e6-96231b3b80d8
* Lower small memcpys to load/stores on Thumb2.Bob Wilson2010-03-111-3/+3
| | | | | | | Radar 7686922. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98210 91177308-0d34-0410-b5e6-96231b3b80d8
* VirtRegRewriter spring cleaning. No functional change.Jakob Stoklund Olesen2010-03-111-1255/+1292
| | | | | | | Move methods out of line and M-x whitespace-cleanup. Promote common method arguments to member variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98207 91177308-0d34-0410-b5e6-96231b3b80d8
* Work around a bug in the openbsd assembler on i386,Chris Lattner2010-03-111-1/+6
| | | | | | | | | | | which doesn't support .quad correctly because it is "really really old". PR6528. Yet another reason the mc assembler should take over ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98205 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR6533 by updating the br(xor) code to remember the caseChris Lattner2010-03-102-5/+22
| | | | | | | when it looked past a trunc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98203 91177308-0d34-0410-b5e6-96231b3b80d8
* Cosmetic: lengthen names and improve comments.Dale Johannesen2010-03-102-16/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98202 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an obvious typo in an assert.Bob Wilson2010-03-101-1/+1
| | | | | | | Patch by Sean Callanan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98200 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bit along with the MCSymbols stored in the MachineModuleInfo maps thatBill Wendling2010-03-108-96/+138
| | | | | | | | | indicates that an MCSymbol is external or not. (It's true if it's external.) This will be used to specify the correct information to add to non-lazy pointers. That will be explained further when this bit is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98199 91177308-0d34-0410-b5e6-96231b3b80d8
* Progress towards shepherding debug info through SelectionDAG.Dale Johannesen2010-03-1010-40/+276
| | | | | | | | | No functional effect yet. This is still evolving and should not be viewed as final. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98195 91177308-0d34-0410-b5e6-96231b3b80d8
* move PR6576 here.Chris Lattner2010-03-101-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98194 91177308-0d34-0410-b5e6-96231b3b80d8
* add DESTDIR support for TOOLALIAS, for PR6557, patch byChris Lattner2010-03-101-1/+1
| | | | | | | Matthias Klose! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98193 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix another bitwidth calculation to handle vector types; based on aDan Gohman2010-03-101-1/+1
| | | | | | | patch by Micah Villmow for PR6572. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98188 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Use the MCAssembler symbol map instead of reconstructing.Daniel Dunbar2010-03-101-32/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98187 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Move the backend section and symbol data maps to MCAssembler.Daniel Dunbar2010-03-102-30/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98186 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneeded declarations.Daniel Dunbar2010-03-102-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98185 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure the LR gets pushed in functions that use vaargs. This fixesJim Grosbach2010-03-101-0/+4
| | | | | | | | 400.perlbench for the nightly tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98183 91177308-0d34-0410-b5e6-96231b3b80d8
* comment why we use custom epilogue for t1 functions using vaargs.Jim Grosbach2010-03-101-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98182 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix another place where DEBUG_VALUE affected codegen.Dale Johannesen2010-03-101-1/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98181 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a DominatorTree argument to isLCSSA so that it doesn't have toDan Gohman2010-03-107-22/+8
| | | | | | | | compute a set of reachable blocks for itself each time it is called, which is fairly frequently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98179 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant-fold GEP-of-GEP into a single GEP.Dan Gohman2010-03-102-0/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98178 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix whitespace.Dan Gohman2010-03-101-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98173 91177308-0d34-0410-b5e6-96231b3b80d8
* Factored out the disassembly printing of CPS option, MSR mask, and Negative ZeroJohnny Chen2010-03-106-24/+52
| | | | | | | operands into their own PrintMethod, in order not to pollute the printOperand() impl with disassembly only Imm modifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98172 91177308-0d34-0410-b5e6-96231b3b80d8