summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* make the mangler take an MCContext instead of an MAI.Chris Lattner2010-03-123-6/+4
| | | | | | No functionality change. llvm-svn: 98363
* remove MAI argument from createAsmStreamer since itChris Lattner2010-03-121-1/+1
| | | | | | can get it from the context now. llvm-svn: 98361
* fix a bug emitting .secrel32 that I introduced, PR6587, patchChris Lattner2010-03-121-2/+3
| | | | | | by A.Mazur! llvm-svn: 98360
* Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness ofJeffrey Yasskin2010-03-123-37/+37
| | | | | | several fields to make it easier to figure out where bugs might be creeping in. llvm-svn: 98358
* Revert turning copysignl into a COPYSIGN node for the moment:Duncan Sands2010-03-121-1/+1
| | | | | | | ppc calls copysignl with a 128 bit ppc long double, resulting in a node that the type legalizer doesn't know how to expand. llvm-svn: 98357
* Now that it's supported, turn copysignl into a COPYSIGN node.Duncan Sands2010-03-121-1/+1
| | | | llvm-svn: 98348
* Fix PR6522: implement copysign expansion for x86 long doubleDuncan Sands2010-03-121-23/+39
| | | | | | | | (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. llvm-svn: 98346
* fix PR6577, a bug in sdbuilder lowering select instructionsChris Lattner2010-03-121-1/+2
| | | | | | whose true value was not Val#0. llvm-svn: 98336
* There is no need to create specification DIE for definitions at DIFile level.Devang Patel2010-03-111-1/+2
| | | | llvm-svn: 98302
* Extract methods from LocalRewriter::RewriteMBB bringing it down to 666 lines.Jakob Stoklund Olesen2010-03-111-168/+197
| | | | llvm-svn: 98295
* change MCContext to always have an MCAsmInfo.Chris Lattner2010-03-112-3/+3
| | | | llvm-svn: 98293
* fix a fixme in TargetLoweringObjectFile::getExprForDwarfReferenceChris Lattner2010-03-112-4/+5
| | | | | | | | | where we used ot create an MCSymbol for ".". Now emit an assembler temporary label and reference it instead of "." textually. rdar://7739457 llvm-svn: 98292
* Remove getWidenVectorType, which is no longer used.Dan Gohman2010-03-111-14/+0
| | | | llvm-svn: 98289
* rename getSymbolForDwarf* to getExprForDwarf* since it returnsChris Lattner2010-03-112-12/+16
| | | | | | | | | an MCExpr and not an MCSymbol. Change it to take an MCStreamer, which is currently unused. No functionality change. llvm-svn: 98278
* In case of tail call size of Ins and InVals may not match.Evan Cheng2010-03-111-6/+7
| | | | llvm-svn: 98277
* Avoid leaking CompileUnits in DwarfDebug.cpp.Jeffrey Yasskin2010-03-112-14/+15
| | | | llvm-svn: 98268
* Add a new jump table encoding to indicate jump tables entriesRichard Osborne2010-03-112-0/+7
| | | | | | are inside the function by the target at the point of use. llvm-svn: 98255
* The check for coalescing a virtual register to a physical register, e.g.Evan Cheng2010-03-112-10/+21
| | | | | | | | | 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). llvm-svn: 98251
* Remove dead include.Daniel Dunbar2010-03-111-1/+0
| | | | llvm-svn: 98225
* Fix debug_value handling.Dale Johannesen2010-03-111-2/+6
| | | | llvm-svn: 98224
* MC: Provide MCAssembler with a TargetAsmBackend.Daniel Dunbar2010-03-111-4/+5
| | | | llvm-svn: 98222
* 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. llvm-svn: 98207
* fix PR6533 by updating the br(xor) code to remember the caseChris Lattner2010-03-101-5/+7
| | | | | | when it looked past a trunc. llvm-svn: 98203
* Cosmetic: lengthen names and improve comments.Dale Johannesen2010-03-102-16/+15
| | | | llvm-svn: 98202
* Add a bit along with the MCSymbols stored in the MachineModuleInfo maps thatBill Wendling2010-03-102-13/+22
| | | | | | | | 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. llvm-svn: 98199
* Progress towards shepherding debug info through SelectionDAG.Dale Johannesen2010-03-107-28/+176
| | | | | | | No functional effect yet. This is still evolving and should not be viewed as final. llvm-svn: 98195
* Fix another bitwidth calculation to handle vector types; based on aDan Gohman2010-03-101-1/+1
| | | | | | patch by Micah Villmow for PR6572. llvm-svn: 98188
* Fix another place where DEBUG_VALUE affected codegen.Dale Johannesen2010-03-101-1/+12
| | | | llvm-svn: 98181
* Fix a bug in DEBUG_VALUE handling Devang ran into.Dale Johannesen2010-03-101-6/+3
| | | | | | I'll get this loop right yet. llvm-svn: 98155
* move three lowering hooks from MAI to TLOF and make one of themChris Lattner2010-03-102-6/+14
| | | | | | | semantic instead of syntactic. This completes MCization of darwin/x86[-64]! llvm-svn: 98145
* This survived a bootstrap, so let's try 98104 again.Dale Johannesen2010-03-101-4/+69
| | | | llvm-svn: 98137
* Enable machine cse pass.Evan Cheng2010-03-101-5/+1
| | | | llvm-svn: 98132
* mcize the rest of EH emission, only one more directive missingChris Lattner2010-03-101-12/+17
| | | | | | for darwin/x86 to be completely mcized. llvm-svn: 98130
* add missing filename!Chris Lattner2010-03-101-0/+2
| | | | llvm-svn: 98125
* set the temporary bit on MCSymbols correctly.Chris Lattner2010-03-106-31/+41
| | | | llvm-svn: 98124
* Add a couple more heuristics to neuter machine cse some more.Evan Cheng2010-03-101-13/+57
| | | | | | | | | | | 1. Be careful with cse "cheap" expressions. e.g. constant materialization. Only cse them when the common expression is local or in a direct predecessor. We don't want cse of cheap instruction causing other expressions to be spilled. 2. Watch out for the case where the expression doesn't itself uses a virtual register. e.g. lea of frame object. If the common expression itself is used by copies (common for passing addresses to function calls), don't perform the cse. Since these expressions do not use a register, it creates a live range but doesn't close any, we want to be very careful with increasing register pressure. Note these are heuristics so machine cse doesn't make register allocator unhappy. Once we have proper live range splitting and re-materialization support in place, these should be evaluated again. Now machine cse is almost always a win on llvm nightly tests on x86 and x86_64. llvm-svn: 98121
* inline away a form of IsPCRelative, eliminating the Chris Lattner2010-03-104-29/+14
| | | | | | dead IsPCRel argument. llvm-svn: 98117
* add some fixme's for MCizing. EH still has a few things thatChris Lattner2010-03-103-13/+9
| | | | | | | | need to be MCized, but the last debug info thing are LEB and cygwin specific (which the MC api doesn't support yet) and one specific form of EmitReference which I'll tackle next. llvm-svn: 98116
* Clear up the last (famous last words) frame index value reuse issues for Thumb1.Jim Grosbach2010-03-102-7/+11
| | | | llvm-svn: 98109
* Speculatively revert 98104; could be what's causing crashesDale Johannesen2010-03-101-56/+3
| | | | llvm-svn: 98108
* mcize uses of PrintRelDirective and eliminate it.Chris Lattner2010-03-103-21/+9
| | | | llvm-svn: 98107
* inline the bool form of PrintRelDirective away, leaving just the unsigned form.Chris Lattner2010-03-092-9/+4
| | | | llvm-svn: 98106
* eliminate EOL, adding all comments with the OutStreamer.AddComment Chris Lattner2010-03-094-131/+143
| | | | | | | | | | | method. With this, comments should end up on the same lines as the .byte directives (for example) and we now get no output with: $ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose woot. llvm-svn: 98105
* Ever more complicated DEBUG_VALUE fixes for branch folding.Dale Johannesen2010-03-091-3/+56
| | | | llvm-svn: 98104
* eliminate a bunch of \n's that are being printed to O. Next up is to killChris Lattner2010-03-092-35/+19
| | | | | | off "EOL". llvm-svn: 98102
* convert the non-"ispcrel" case of EmitReference to MC,Chris Lattner2010-03-091-0/+8
| | | | | | | significant debug info testcases are now all going through MCStreamer, though they print a lot of extraneous newlines to "O". llvm-svn: 98101
* Change the Value argument to eliminateFrameIndex to a type-tagged value. ThisJim Grosbach2010-03-091-2/+3
| | | | | | | | | | is preparatory to having PEI's scavenged frame index value reuse logic properly distinguish types of frame values (e.g., whether the value is stack-pointer relative or frame-pointer relative). No functionality change. llvm-svn: 98086
* Allow more cross-rc coalescing.Evan Cheng2010-03-091-10/+13
| | | | llvm-svn: 98048
* reapply r98035:Chris Lattner2010-03-094-24/+24
| | | | | | | Now that setStartLabel takes an MCSymbol, we can de-ID'ize beginScope and RecordSourceLine. llvm-svn: 98047
* add some extra checks. I'm not sure why, but this does unbreak aChris Lattner2010-03-091-0/+3
| | | | | | failure remaining on mainline. llvm-svn: 98046
OpenPOWER on IntegriCloud