summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Use an index instead of pointers into the vector. If the vector resizes, thenBill Wendling2010-02-102-12/+13
| | | | | | the pointer values could be invalid. llvm-svn: 95813
* When I rewrote this loop per Chris' preference IDale Johannesen2010-02-101-0/+3
| | | | | | changed its behavior. Oops. llvm-svn: 95811
* Fix several comments which had previously been "the the" where aDan Gohman2010-02-101-1/+1
| | | | | | different word was intended. llvm-svn: 95795
* Fix "the the" and similar typos.Dan Gohman2010-02-1017-18/+18
| | | | llvm-svn: 95781
* Now that ShrinkDemandedOps() is separated out from DAG combine. It sometimes ↵Evan Cheng2010-02-101-1/+18
| | | | | | leave some obvious nops which dag combine used to clean up afterwards e.g. (trunk (ext n)) -> n. Look for them and squash them. llvm-svn: 95757
* Rewrite loop to suit Chris' preference.Dale Johannesen2010-02-101-16/+19
| | | | llvm-svn: 95749
* fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.Chris Lattner2010-02-102-5/+4
| | | | llvm-svn: 95748
* Remove duplicated #include.Evan Cheng2010-02-101-1/+0
| | | | llvm-svn: 95747
* Emit an error for illegal inline asm constraint (which uses illegal type) ↵Evan Cheng2010-02-102-1/+14
| | | | | | rather than asserting. llvm-svn: 95746
* fix missing #includes.Chris Lattner2010-02-103-1/+3
| | | | llvm-svn: 95745
* Improve comments a even more.Bill Wendling2010-02-101-3/+3
| | | | llvm-svn: 95740
* Skip DBG_VALUE many places in live intervals andDale Johannesen2010-02-102-38/+57
| | | | | | | | | register coalescing. This fixes many crashes and places where debug info affects codegen (when dbg.value is lowered to machine instructions, which it isn't yet in TOT). llvm-svn: 95739
* Move verbose asm instruction comments to using MCStreamer.Chris Lattner2010-02-101-74/+61
| | | | | | | | | | | | The major win of this is that the code is simpler and they print on the same line as the instruction again: movl %eax, 96(%esp) ## 4-byte Spill movl 96(%esp), %eax ## 4-byte Reload cmpl 92(%esp), %eax ## 4-byte Folded Reload jl LBB7_86 llvm-svn: 95738
* Improve comments a bit more.Bill Wendling2010-02-101-4/+4
| | | | llvm-svn: 95737
* more comment updatesDale Johannesen2010-02-101-2/+2
| | | | llvm-svn: 95736
* Add isDebug argument to ChangeToRegister; this preventsDale Johannesen2010-02-101-1/+3
| | | | | | the field from being used uninitialized later in some cases. llvm-svn: 95735
* print all the newlines at the end of instructions withChris Lattner2010-02-101-4/+6
| | | | | | OutStreamer.AddBlankLine instead of textually. llvm-svn: 95734
* Fix comments to reflect renaming elsewhere.Dale Johannesen2010-02-103-4/+4
| | | | llvm-svn: 95730
* Only dump output in debug mode.David Greene2010-02-091-4/+5
| | | | llvm-svn: 95711
* Improve comments in the LSDA somewhat. They can be improved much more.Bill Wendling2010-02-091-10/+17
| | | | llvm-svn: 95707
* move target-independent opcodes out of TargetInstrInfoChris Lattner2010-02-0937-213/+163
| | | | | | | | | into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
* Remember to update live-in lists when coalescing physregs.Jakob Stoklund Olesen2010-02-091-0/+17
| | | | | | Patch by M Wahab! llvm-svn: 95668
* Skip DEBUG_VALUE in some places where it was affecting codegen.Dale Johannesen2010-02-093-0/+9
| | | | llvm-svn: 95647
* Add declaration attribute to a variable DIE, if there is a separate DIE for ↵Devang Patel2010-02-091-0/+1
| | | | | | the definition. llvm-svn: 95646
* Fixed a bug in the PBQP allocator's findCoalesces method.Lang Hames2010-02-091-6/+17
| | | | | | Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with. llvm-svn: 95636
* Added copy sensible construction & assignment to PBQP graphs and fixed a ↵Lang Hames2010-02-092-18/+85
| | | | | | memory access bug in the heuristic solver. llvm-svn: 95633
* Implement AsmPrinter support for several more operators which haveDan Gohman2010-02-091-0/+10
| | | | | | | direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't consistent between targets. llvm-svn: 95620
* now that @GOTOFF is no longer represented as a suffix on aChris Lattner2010-02-081-6/+4
| | | | | | | MCSymbol, we can remove the 'suffix' argument of GetBlockAddressSymbol. Do so. llvm-svn: 95601
* ConstantFoldConstantExpression can theoretically return the originalDan Gohman2010-02-081-2/+4
| | | | | | expression; don't go into an infinite loop if it does. llvm-svn: 95591
* When CodeGen'ing unoptimized code, there may be unfolded constant expressionsDan Gohman2010-02-081-9/+11
| | | | | | | | | in global initializers. Instead of aborting, attempt to fold them on the spot. If folding succeeds, emit the folded expression instead. This fixes PR6255. llvm-svn: 95583
* Apply the 95471 fix to SelectionDAGBuilder as well;Dale Johannesen2010-02-081-0/+2
| | | | | | | we can get in here if FastISel gives up in a block. (Actually the two copies of this need to be unified. Later.) llvm-svn: 95579
* In guaranteed tailcall mode, don't decline the tailcall optimizationDan Gohman2010-02-081-7/+10
| | | | | | for blocks ending in "unreachable". llvm-svn: 95565
* Give DwarfPrinter a protected (but not virtual) destructor. CppcheckDuncan Sands2010-02-071-0/+2
| | | | | | | | | warns about this base class not having a virtual destructor, but since this class has no virtual methods and neither it or the types derived from it has a destructor, a protected trivial destructor will do (and shuts cppcheck up) the trick without the cost of introducing a vtable. llvm-svn: 95526
* Run codegen dce pass for all targets at all optimization levels. Previously it'sEvan Cheng2010-02-063-0/+14
| | | | | | | | | | only run for x86 with fastisel. I've found it being very effective in eliminating some obvious dead code as result of formal parameter lowering especially when tail call optimization eliminated the need for some of the loads from fixed frame objects. It also shrinks a number of the tests. A couple of tests no longer make sense and are now eliminated. llvm-svn: 95493
* Fix an uninitialized value. Radar 7609421.Bob Wilson2010-02-061-0/+1
| | | | llvm-svn: 95488
* After Victor's latest commits I am seeing nullDale Johannesen2010-02-061-0/+2
| | | | | | | addresses in dbg.declare; ignore this for the moment to prevent things from breaking. llvm-svn: 95471
* Set DW_AT_artificial only if argument is marked as artificial.Devang Patel2010-02-061-5/+12
| | | | llvm-svn: 95461
* Do not generate specification DIE for nested functions.Devang Patel2010-02-051-1/+7
| | | | llvm-svn: 95452
* When the scheduler unfold a load folding instruction it move some of the ↵Evan Cheng2010-02-051-2/+10
| | | | | | | | predecessors to the unfolded load. It decides what gets moved to the load by checking whether the new load is using the predecessor as an operand. The check neglects the cases whether the predecessor is a flagged scheduling unit. rdar://7604000 llvm-svn: 95339
* An empty global constant (one of size 0) may have a section immediatelyBill Wendling2010-02-051-0/+1
| | | | | | | | | | | following it. However, the EmitGlobalConstant method wasn't emitting a body for the constant. The assembler doesn't like that. Before, we were generating this: .zerofill __DATA, __common, __cmd, 1, 3 This fix puts us back to that semantic. llvm-svn: 95336
* Fix typo Duncan noticed.Evan Cheng2010-02-041-1/+1
| | | | llvm-svn: 95322
* Fix small bug in handling instructions with more than one implicitly defined ↵Jakob Stoklund Olesen2010-02-041-1/+1
| | | | | | | | | operand. ProcessImplicitDefs would only mark one operand per instruction with <undef>. This fixed PR6086. llvm-svn: 95319
* It's too risky to eliminate sext / zext of call results for tail call ↵Evan Cheng2010-02-041-6/+4
| | | | | | optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing). llvm-svn: 95282
* Emit appropriate expression to find virtual base offset.Devang Patel2010-02-031-1/+20
| | | | llvm-svn: 95242
* Provide interface to identifiy artificial methods.Devang Patel2010-02-031-0/+3
| | | | llvm-svn: 95240
* make MachineModuleInfoMachO hold non-const MCSymbol*'s insteadChris Lattner2010-02-031-4/+4
| | | | | | | of const ones. non-const ones aren't very useful, because you can't even, say, emit them. llvm-svn: 95205
* change addPassesToEmitFile to return true on failure instead of its input,Chris Lattner2010-02-031-10/+19
| | | | | | | add -filetype=null for performance testing and remove -filetype=dynlib, which isn't planned to be implemented. llvm-svn: 95202
* Revert 94937 and move the noreturn check to codegen.Evan Cheng2010-02-031-2/+7
| | | | llvm-svn: 95198
* Allow all types of callee's to be tail called. But avoid automatic tailcall ↵Evan Cheng2010-02-031-4/+9
| | | | | | if the callee is a result of bitcast to avoid losing necessary zext / sext etc. llvm-svn: 95195
* don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,Chris Lattner2010-02-031-0/+2
| | | | | | .o files don't like that. llvm-svn: 95187
OpenPOWER on IntegriCloud