summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Fix typos in assertion strings.Dan Gohman2010-04-291-2/+2
| | | | llvm-svn: 102666
* Slightly verboser debug spew from coalescerJakob Stoklund Olesen2010-04-292-26/+25
| | | | llvm-svn: 102663
* Refactor.Devang Patel2010-04-291-4/+2
| | | | llvm-svn: 102661
* Make naked functions work on PPC.Dale Johannesen2010-04-291-0/+4
| | | | llvm-svn: 102657
* Print variable scope name in DEBUG_VALUE comment. Useful in some cases. e.g.Devang Patel2010-04-291-0/+2
| | | | | | | | | | ##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0 ##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0 ##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706 ##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0 ##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0 llvm-svn: 102655
* Remove DBG_VALUE which reference dead stack slots.Evan Cheng2010-04-291-2/+19
| | | | llvm-svn: 102654
* DO not push DBG_VALUE machine instructions for inlined fuction arguments in ↵Devang Patel2010-04-291-0/+7
| | | | | | entry block. llvm-svn: 102653
* Add comment.Evan Cheng2010-04-291-0/+2
| | | | llvm-svn: 102606
* Re-enable 102565 with fixes.Evan Cheng2010-04-292-14/+8
| | | | llvm-svn: 102602
* Temporarily disable my changes to unbreak the build.Evan Cheng2010-04-292-0/+8
| | | | llvm-svn: 102590
* Do not generate duplicate dbg_value instructions for function arguments.Evan Cheng2010-04-292-9/+11
| | | | llvm-svn: 102585
* Fix missing #include.Dan Gohman2010-04-291-0/+1
| | | | llvm-svn: 102584
* Avoid emitting a dbg_value machineinstr that's not going to be inserted into ↵Evan Cheng2010-04-292-2/+2
| | | | | | entry block. llvm-svn: 102581
* Check Reg against zero.Evan Cheng2010-04-292-1/+3
| | | | llvm-svn: 102573
* - Really preserve dbg_value instructions when the register is spilled.Evan Cheng2010-04-281-2/+3
| | | | | | - Also, update dbg_value is the value is being re-matted from a frame slot, e.g. fixed slots for arguments. llvm-svn: 102565
* tidy up.Devang Patel2010-04-281-8/+2
| | | | llvm-svn: 102558
* Replace r102368 with code that's less fragile. This creates DBG_VALUE ↵Evan Cheng2010-04-286-33/+77
| | | | | | instructions for function arguments early and insert them after instruction selection is done. llvm-svn: 102554
* Pretty print DBG_VALUE machine instructions.Evan Cheng2010-04-281-1/+9
| | | | | | | | | Before: DBG_VALUE %RSI, 0, !-1; dbg:SimpleRegisterCoalescing.cpp:2707 Now: DBG_VALUE %RSI, 0, !"this"; dbg:SimpleRegisterCoalescing.cpp:2707 llvm-svn: 102518
* Rework global alignment computation again. Now we do round upChris Lattner2010-04-281-19/+37
| | | | | | | | alignment of globals to the preferred alignment, but only when there is no section specified on the global (by far the common case). llvm-svn: 102515
* While lowering dbg_declare, emit DBG_VALUE machine instruction if alloca ↵Devang Patel2010-04-281-11/+11
| | | | | | matching llvm.dbg.declare intrinsic is missing. llvm-svn: 102513
* Recompute kill flags from live intervals after coalescing instead of trying toJakob Stoklund Olesen2010-04-282-49/+21
| | | | | | | | | | | update them. Computing kill flags is notoriously difficult, and the coalescer would get it wrong sometimes, and it would completely skip physical registers. Now we simply remove kill flags based on the live intervals after coalescing. This is a few percent slower, but now we get correct kill flags for physical registers after coalescing. llvm-svn: 102510
* Try operation promotion only if regular dag combine and target-specific ones ↵Evan Cheng2010-04-281-15/+42
| | | | | | failed to do anything. llvm-svn: 102492
* Emit debug info for byval parameters.Devang Patel2010-04-282-4/+15
| | | | llvm-svn: 102486
* further simplify EmitAlignment by eliminating the Chris Lattner2010-04-281-5/+2
| | | | | | ForcedAlignBits argument, tweaking the single client of it. llvm-svn: 102484
* remove a dead argument to EmitAlignment.Chris Lattner2010-04-281-2/+1
| | | | llvm-svn: 102483
* remove some default arguments to EmitAlignment.Chris Lattner2010-04-282-8/+6
| | | | llvm-svn: 102482
* Refactor. Devang Patel2010-04-282-50/+87
| | | | llvm-svn: 102481
* Use isReg(), isImm() and isFPImm().Devang Patel2010-04-271-9/+5
| | | | llvm-svn: 102470
* Check operand type first.Devang Patel2010-04-271-1/+2
| | | | llvm-svn: 102468
* Ignore DBG_VALUE instructions that points to undef values.Devang Patel2010-04-272-5/+5
| | | | llvm-svn: 102463
* - When legal, promote a load to zextload rather than ext load.Evan Cheng2010-04-271-6/+20
| | | | | | - Catch more further dag combine opportunities as result of operand promotion, e.g. (i32 anyext (i16 trunc (i32 x))) -> (i32 x) llvm-svn: 102455
* Identify when a lexical scope is split in to multiple instruction ranges. ↵Devang Patel2010-04-272-214/+350
| | | | | | | | Emit such ranges using DW_AT_ranges. This patch fixes bug (PR6894) introduced by previous version of this patch. llvm-svn: 102454
* Do not count kill, implicit_def instructions as printed instructions.Evan Cheng2010-04-271-4/+4
| | | | llvm-svn: 102453
* round zero-byte .zerofill directives up to 1 byte. ThisChris Lattner2010-04-271-0/+2
| | | | | | | should fix some "g++.dg-struct-layout-1" failures, rdar://7886017 llvm-svn: 102421
* Revert a small part of 102372; this fixes at least oneDale Johannesen2010-04-271-0/+5
| | | | | | | | of the dbg testsuite regressions. I don't think this is really the right fix; this change exposed an existing problem upstream somewhere. llvm-svn: 102410
* add a comment in verbose-asm mode indicating why a noop is being generated.Chris Lattner2010-04-261-2/+3
| | | | llvm-svn: 102401
* on darwin empty functions need to codegen into something of non-zero length,Chris Lattner2010-04-261-3/+9
| | | | | | | | | | | otherwise labels get incorrectly merged. We handled this by emitting a ".byte 0", but this isn't correct on thumb/arm targets where the text segment needs to be a multiple of 2/4 bytes. Handle this by emitting a noop. This is more gross than it should be because arm/ppc are not fully mc'ized yet. This fixes rdar://7908505 llvm-svn: 102400
* Avoid adding a null MD node operand, which crashes with "-debug" when tryingBob Wilson2010-04-261-1/+2
| | | | | | to print the operand. llvm-svn: 102395
* Use DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This ↵Devang Patel2010-04-261-3/+3
| | | | | | simplifies debug range entries. llvm-svn: 102394
* Remove crufty comments.Dale Johannesen2010-04-261-5/+0
| | | | llvm-svn: 102380
* Add DBG_VALUE handling for byval parameters; thisDale Johannesen2010-04-263-27/+84
| | | | | | | produces a comment on targets that support it, but the Dwarf writer is not hooked up yet. llvm-svn: 102372
* Insert dbg_value instructions for function entry block liveins (i.e. ↵Evan Cheng2010-04-261-1/+30
| | | | | | function arguments). llvm-svn: 102368
* fix PR6921 a different way. Intead of increasing theChris Lattner2010-04-261-1/+9
| | | | | | | | alignment of globals with a specified alignment, we fix common variables to obey their alignment. Add a comment explaining why this behavior is important. llvm-svn: 102365
* Re-enable 102323 with fix: do not update dbg_value's with incorrect frame ↵Evan Cheng2010-04-261-20/+17
| | | | | | indices when the live interval are being re-materialized. llvm-svn: 102361
* Revert r102300/102301, which serious broke objc apps.Chris Lattner2010-04-261-3/+3
| | | | llvm-svn: 102359
* Update MachineSSAUpdater with the same changes I made for the IR-levelBob Wilson2010-04-261-122/+428
| | | | | | | SSAUpdater. I'm going to try to refactor this to share most of the code between them. llvm-svn: 102353
* Temporary disable spiller modifying dbg_value. It's breaking build.Evan Cheng2010-04-261-0/+5
| | | | llvm-svn: 102327
* - Move TargetLowering::EmitTargetCodeForFrameDebugValue to TargetInstrInfo ↵Evan Cheng2010-04-264-19/+35
| | | | | | | | and rename it to emitFrameIndexDebugValue. - Teach spiller to modify DBG_VALUE instructions to reference spill slots. llvm-svn: 102323
* Stop abusing EmitInstrWithCustomInserter for target-dependentDale Johannesen2010-04-251-9/+8
| | | | | | | | form of DEBUG_VALUE, as it doesn't have reasonable default behavior for unsupported targets. Add a new hook instead. No functional change. llvm-svn: 102320
* Add comment re byval args. Doesn't actually work this way yet.Dale Johannesen2010-04-251-1/+3
| | | | | | xs llvm-svn: 102316
OpenPOWER on IntegriCloud