summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Enable -split-phi-edges by defaultJakob Stoklund Olesen2009-11-171-1/+1
| | | | llvm-svn: 89021
* Remove the optimizations that convert BRCOND and BR_CC intoDan Gohman2009-11-171-17/+12
| | | | | | | | | | unconditional branches or fallthroghes. Instcombine/SimplifyCFG should be simplifying branches with known conditions. This fixes some problems caused by these transformations not updating the MachineBasicBlock CFG. llvm-svn: 89017
* Initialize the new AsmPrinterFlags field to 0, fixing uses ofDan Gohman2009-11-161-6/+8
| | | | | | uninitialized memory. llvm-svn: 88985
* Revert r88939.Devang Patel2009-11-161-2/+2
| | | | llvm-svn: 88973
* Sink a #include <map> to where it's actually needed.Dan Gohman2009-11-161-0/+1
| | | | llvm-svn: 88956
* Fix a typo in a comment.Dan Gohman2009-11-162-2/+2
| | | | llvm-svn: 88953
* Fix a comment.Bob Wilson2009-11-161-1/+1
| | | | llvm-svn: 88940
* Add VISIBILITY_HIDDEN marker.Devang Patel2009-11-161-2/+2
| | | | llvm-svn: 88939
* Fix some comments.Bob Wilson2009-11-161-5/+4
| | | | llvm-svn: 88932
* Whitespace: be consistent with pointer syntax.Bob Wilson2009-11-161-6/+6
| | | | llvm-svn: 88929
* Clean up whitespace.Bob Wilson2009-11-161-6/+6
| | | | llvm-svn: 88927
* Support spill comments.David Greene2009-11-161-0/+52
| | | | | | | | Have the asm printer emit a comment if an instruction is a spill or reload and have the spiller mark copies it introdues so the asm printer can also annotate those. llvm-svn: 88911
* Check if subreg index is zero.Evan Cheng2009-11-161-1/+3
| | | | llvm-svn: 88899
* For some targets, a copy can use a register multiple times, e.g. ppc.Evan Cheng2009-11-161-0/+5
| | | | llvm-svn: 88895
* Fixes the bug exposed by Anton's test case in PR 5495:Lang Hames2009-11-161-0/+4
| | | | | | | Make sure when ProcessImplicitDefs removes a copy which kills its source reg that it removes the copy from said reg's Kills list. llvm-svn: 88881
* Fix for the original bug in PR5495 - Look at uses as well as defs when ↵Lang Hames2009-11-161-5/+5
| | | | | | | | determining the PHI-copy insert point. - Patch by Andrew Canis! llvm-svn: 88880
* Added an assert to the PBQP allocator to catch infinite cost solutions which ↵Lang Hames2009-11-151-0/+5
| | | | | | might otherwise lead to miscompilations. llvm-svn: 88829
* Do not merge jump tables this early. Branch folding will do any necessaryJim Grosbach2009-11-141-4/+0
| | | | | | | merges, and until then, it's useful to keep the tables separate for ease of manipulation. llvm-svn: 88806
* Add function to replace a destination MBB in a single jump tableJim Grosbach2009-11-141-8/+19
| | | | llvm-svn: 88804
* revert 88761 as it fails builds.Sanjiv Gupta2009-11-141-1/+1
| | | | llvm-svn: 88762
* Fix debug info crashes for PIC16.Sanjiv Gupta2009-11-141-1/+1
| | | | llvm-svn: 88761
* Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to ↵Evan Cheng2009-11-141-5/+2
| | | | | | replace broken code in VirtRegRewriter. llvm-svn: 88753
* - Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo.Evan Cheng2009-11-145-8/+13
| | | | | | | | - If destination is a physical register and it has a subreg index, use the sub-register instead. This fixes PR5423. llvm-svn: 88745
* Fix PR5412: Fix an inverted check and another missing sub-register check.Evan Cheng2009-11-141-9/+30
| | | | llvm-svn: 88738
* Enable the tail call optimization when the caller returns undef.Dan Gohman2009-11-141-0/+4
| | | | llvm-svn: 88737
* Fix bug in -split-phi-edges.Jakob Stoklund Olesen2009-11-141-3/+14
| | | | | | | | | | When splitting an edge after a machine basic block with fall-through, we forgot to insert a jump instruction. Fix this by calling updateTerminator() on the fall-through block when relevant. Also be more precise in PHIElimination::isLiveIn. llvm-svn: 88728
* Update MachineDominator informationJakob Stoklund Olesen2009-11-141-6/+9
| | | | llvm-svn: 88727
* Added an API to the SlotIndexes pass to allow new instructions to be ↵Lang Hames2009-11-143-89/+31
| | | | | | | | inserted into the numbering. PreAllocSplitting is now using this API to insert code. llvm-svn: 88725
* Fix PR5411. Bug in UpdateKills. A reg def partially define its super-registers.Evan Cheng2009-11-131-0/+4
| | | | llvm-svn: 88719
* Fix PHIElimination optimization that uses MBB->getBasicBlock.Jakob Stoklund Olesen2009-11-132-34/+23
| | | | | | | | | | | The BasicBlock associated with a MachineBasicBlock does not necessarily correspond to the code in the MBB. Don't insert a new IR BasicBlock when splitting critical edges. We are not supposed to modify the IR during codegen, and we should be able to do just fine with a NULL BB. llvm-svn: 88707
* Add MachineFunction::verify() to call the machine code verifier directly.Jakob Stoklund Olesen2009-11-131-0/+4
| | | | llvm-svn: 88706
* Fix polarity of a CFG check in machine verifier.Jakob Stoklund Olesen2009-11-131-5/+14
| | | | llvm-svn: 88704
* Use .data() instead of .c_str() when nul-termination is not needed.Dan Gohman2009-11-131-1/+1
| | | | llvm-svn: 88703
* Move DebugInfo checks into EmitComments and remove them fromDavid Greene2009-11-131-15/+23
| | | | | | | | target-specific AsmPrinters. Not all comments need DebugInfo. Re-enable the line numbers comment test. llvm-svn: 88697
* When optimizing for size, don't tail-merge unless it's likely to be aDan Gohman2009-11-131-9/+12
| | | | | | | | | | code-size win, and not when it's only likely to be code-size neutral, such as when only a single instruction would be eliminated and a new branch would be required. This fixes rdar://7392894. llvm-svn: 88692
* Fix PR5410: LiveVariables lost subreg def:Evan Cheng2009-11-131-1/+7
| | | | | | | | | | | | | | D0<def,dead> = ... ... = S0<use, kill> S0<def> = ... ... D0<def> = The first D0 def is correctly marked dead, however, livevariables should have added an implicit def of S0 or we end up with a use without a def. llvm-svn: 88690
* Allow target to specify regclass for which antideps will only be broken ↵David Goodwin2009-11-133-32/+109
| | | | | | along the critical path. llvm-svn: 88682
* Don't let a noalias difference disrupt the tailcall optimization.Dan Gohman2009-11-131-3/+4
| | | | llvm-svn: 88672
* Ignore nameless variables.Devang Patel2009-11-131-1/+3
| | | | llvm-svn: 87069
* Adjust isConstantSplat to allow for big-endian targets.Dale Johannesen2009-11-131-4/+7
| | | | | | PPC is such a target; make it work. llvm-svn: 87060
* Simplify code a bitBill Wendling2009-11-121-4/+3
| | | | llvm-svn: 87040
* Refactor code that checks if it's a call to a "nounwind" function.Bill Wendling2009-11-122-31/+40
| | | | llvm-svn: 87036
* Do some cleanups suggested by Chris.David Greene2009-11-121-0/+4
| | | | llvm-svn: 87034
* Set the ReloadReuse AsmPrinter flag where appropriate.David Greene2009-11-121-0/+3
| | | | llvm-svn: 87030
* Fix -Asserts warning.Daniel Dunbar2009-11-121-2/+1
| | | | llvm-svn: 87024
* If there's more than one function operand to a call instruction, be conservativeBill Wendling2009-11-121-1/+12
| | | | | | | | | and don't assume that the call doesn't throw. It would be nice if there were a way to determine which is the callee and which is a parameter. In practice, the architecture we care about normally only have one operand for a call instruction (x86 and arm). llvm-svn: 87023
* Add a bool flag to StackObjects telling whether they reference spillDavid Greene2009-11-127-16/+18
| | | | | | | | | | | | | slots. The AsmPrinter will use this information to determine whether to print a spill/reload comment. Remove default argument values. It's too easy to pass a wrong argument value when multiple arguments have default values. Make everything explicit to trap bugs early. Update all targets to adhere to the new interfaces.. llvm-svn: 87022
* Add compare_lower and equals_lower methods to StringRef. Switch all users ofBenjamin Kramer2009-11-121-3/+2
| | | | | | StringsEqualNoCase (from StringExtras.h) to it. llvm-svn: 87020
* Make FixedStackPseudoSourceValue a first-class PseudoSourceValue byDavid Greene2009-11-121-23/+2
| | | | | | | | making it visible to clients and adding LLVM-style cast capability. This will be used by AsmPrinter to determine when to emit spill comments for an instruction. llvm-svn: 87019
* Rename registers to break output dependencies in addition to anti-dependencies.David Goodwin2009-11-124-10/+30
| | | | llvm-svn: 87015
OpenPOWER on IntegriCloud