aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
AgeCommit message (Collapse)Author
2010-03-14Fix some EH failures on NNT I introduced in r98461Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98471 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14fix a bug I introduced in r98459, causing some NNT failures.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98470 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14change the LabelSDNode to be EHLabelSDNode and make it holdChris Lattner
an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98463 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14eliminate InvalidateLabel and LabelIDList from MMI and replaceChris Lattner
them with a counter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98462 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14use Label->isDefined() instead of isLabelDeleted() now that weChris Lattner
consistently use MCSymbol and only call this predicate after they should have been emitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98461 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14change EH related stuff (other than EH_LABEL) to use MCSymbolChris Lattner
instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98459 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98451 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner
and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98450 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13add support for MCSymbols as operands to MachineInstrs.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98433 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13simplify EmitFrameMoves to take BaseLabel in as a symbolChris Lattner
instead of as a stem+idx pair, simplify the "is a new location" check to use symbol comparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98432 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13factor some labels, simplify some code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98429 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13various cleanups.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98426 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13reimplement the string pool used for inlined functionChris Lattner
entries to not thrash std::strings and MCSymbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98415 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12remove gone method, grr symlinks.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98392 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12inline the now-trivial implementation of GetGlobalValueSymbol intoChris Lattner
some of its callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12give Mangler access to TargetData.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98378 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12finally give Mangler a getSymbol method, which returns an MCSymbolChris Lattner
for a global instead of messing around with string buffers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98366 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12remove dead code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98365 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12make the mangler take an MCContext instead of an MAI.Chris Lattner
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98363 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12remove MAI argument from createAsmStreamer since itChris Lattner
can get it from the context now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98361 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12fix a bug emitting .secrel32 that I introduced, PR6587, patchChris Lattner
by A.Mazur! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98360 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness ofJeffrey Yasskin
several fields to make it easier to figure out where bugs might be creeping in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12Revert turning copysignl into a COPYSIGN node for the moment:Duncan Sands
ppc calls copysignl with a 128 bit ppc long double, resulting in a node that the type legalizer doesn't know how to expand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98357 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12Now that it's supported, turn copysignl into a COPYSIGN node.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98348 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12Fix PR6522: implement copysign expansion for x86 long doubleDuncan Sands
(it seems that FreeBSD doesn't have copysignl). Done by removing a bunch of assumptions from the code. This may also help with sparc 128 bit floats. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98346 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12fix PR6577, a bug in sdbuilder lowering select instructionsChris Lattner
whose true value was not Val#0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98336 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11There is no need to create specification DIE for definitions at DIFile level.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98302 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Extract methods from LocalRewriter::RewriteMBB bringing it down to 666 lines.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98295 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11change MCContext to always have an MCAsmInfo.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98293 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11fix a fixme in TargetLoweringObjectFile::getExprForDwarfReferenceChris Lattner
where we used ot create an MCSymbol for ".". Now emit an assembler temporary label and reference it instead of "." textually. rdar://7739457 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98292 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Remove getWidenVectorType, which is no longer used.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98289 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11rename getSymbolForDwarf* to getExprForDwarf* since it returnsChris Lattner
an MCExpr and not an MCSymbol. Change it to take an MCStreamer, which is currently unused. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98278 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11In case of tail call size of Ins and InVals may not match.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98277 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Avoid leaking CompileUnits in DwarfDebug.cpp.Jeffrey Yasskin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98268 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Add a new jump table encoding to indicate jump tables entriesRichard Osborne
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
2010-03-11The check for coalescing a virtual register to a physical register, e.g.Evan Cheng
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
2010-03-11Remove dead include.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98225 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Fix debug_value handling.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98224 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11MC: Provide MCAssembler with a TargetAsmBackend.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98222 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11VirtRegRewriter spring cleaning. No functional change.Jakob Stoklund Olesen
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
2010-03-10fix PR6533 by updating the br(xor) code to remember the caseChris Lattner
when it looked past a trunc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98203 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Cosmetic: lengthen names and improve comments.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98202 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Add a bit along with the MCSymbols stored in the MachineModuleInfo maps thatBill Wendling
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
2010-03-10Progress towards shepherding debug info through SelectionDAG.Dale Johannesen
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
2010-03-10Fix another bitwidth calculation to handle vector types; based on aDan Gohman
patch by Micah Villmow for PR6572. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98188 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Fix another place where DEBUG_VALUE affected codegen.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98181 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Fix a bug in DEBUG_VALUE handling Devang ran into.Dale Johannesen
I'll get this loop right yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98155 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10move three lowering hooks from MAI to TLOF and make one of themChris Lattner
semantic instead of syntactic. This completes MCization of darwin/x86[-64]! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98145 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10This survived a bootstrap, so let's try 98104 again.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98137 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Enable machine cse pass.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98132 91177308-0d34-0410-b5e6-96231b3b80d8