summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Avoid analyzing instructions in blocks not reachable from the entry block.Dan Gohman2010-03-091-2/+9
| | | | | | They are lots of trouble, and they don't matter. This fixes PR6559. llvm-svn: 98103
* 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
* make the NullStreamer set the section on a label when emitted so that ↵Chris Lattner2010-03-091-1/+5
| | | | | | isDefined() works. llvm-svn: 98100
* Try to keep the cached inliner costs around for a bit longer for big functions.Jakob Stoklund Olesen2010-03-094-6/+54
| | | | | | | | | | | | | | | The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. This is a more conservative version of r98089 that doesn't break the clang test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining for constant folding. llvm-svn: 98099
* MC/X86: Rename alternate spellings of ADD{8,16,32} and mark as "code gen ↵Daniel Dunbar2010-03-091-9/+11
| | | | | | only" so they don't get selected by the asm matcher. llvm-svn: 98098
* MC/X86: Rename alternate spellings of CMP{8,16,32} and mark as "code gen ↵Daniel Dunbar2010-03-091-6/+12
| | | | | | only" so they don't get selected by the asm matcher. llvm-svn: 98097
* Revert r98089, it was breaking a clang test.Jakob Stoklund Olesen2010-03-094-48/+6
| | | | llvm-svn: 98094
* Try to keep the cached inliner costs around for a bit longer for big functions.Jakob Stoklund Olesen2010-03-094-6/+48
| | | | | | | | | | | The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. llvm-svn: 98089
* Permit inlining into huge functions. This heuristic is ancient, and inliningJakob Stoklund Olesen2010-03-091-5/+0
| | | | | | can sometimes help reduce function size. llvm-svn: 98088
* Change the Value argument to eliminateFrameIndex to a type-tagged value. ThisJim Grosbach2010-03-0929-32/+38
| | | | | | | | | | 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
* MSR (Move to Special Register from ARM core register) requires a mask to specifyJohnny Chen2010-03-092-12/+12
| | | | | | what fields of the CPSR or SPSR are affected. llvm-svn: 98085
* MC/Mach-O: For PCrel relocations, we need to compensate for the PCrel ↵Daniel Dunbar2010-03-091-5/+9
| | | | | | adjustment when determining if we need a scattered relocation. llvm-svn: 98082
* MC/Mach-O: Also set the PCrel bit in the second half of paired relocation ↵Daniel Dunbar2010-03-091-4/+2
| | | | | | entries. llvm-svn: 98081
* MC/Mach-O: Don't generate relocations for PCrel fixups to local labels.Daniel Dunbar2010-03-091-9/+19
| | | | llvm-svn: 98080
* The address of an indirect call must be in R12 on Darwin.Dale Johannesen2010-03-091-0/+10
| | | | | | | | Make it so. (This patch is in LowerCall_Darwin, which seems to be used by SVR4 code as well; since that doesn't belong here, I haven't worried about this case.) llvm-svn: 98077
* scavenged frame index value re-use gets confused when more than one baseJim Grosbach2010-03-092-1/+8
| | | | | | | | register is involved for thumb1. Work around this for the moment by only re-using SP-relative offsets. This is temporary 'til the code can distinguish multiple base registers. llvm-svn: 98071
* The ARM EH experiment worked!Bill Wendling2010-03-094-50/+78
| | | | | | | | | | | | Place the LSDA into the TEXT section for ARM platforms. This involves making the encoding indirect, pcrel, and sdata4 instead of an absolute pointer. The references to the type infos are then non-lazy pointers. Revision 98019 changed the encoding of non-lazy pointers to add the symbol to the non-lazy pointer definition if it's a local symbol (otherwise, it's external and set to '0' so that the loader can adjust it to the real value). This paved the way for this change to work on ARM. llvm-svn: 98068
* In cases where the carry / borrow unused converted ladd / lsubRichard Osborne2010-03-091-0/+30
| | | | | | to an add or a sub. llvm-svn: 98059
* Canonicalize ladd constant to RHS.Richard Osborne2010-03-091-0/+4
| | | | llvm-svn: 98058
* Add DAG combine for ladd / lsub.Richard Osborne2010-03-092-0/+70
| | | | llvm-svn: 98057
* 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
* Revert accidental commit.Evan Cheng2010-03-091-1/+1
| | | | llvm-svn: 98045
* Don't do illegal cross-class coalescing.Jakob Stoklund Olesen2010-03-091-1/+1
| | | | llvm-svn: 98044
* - Make the machine cse dumb coalescer (as opposed to the more awesome simpleEvan Cheng2010-03-092-15/+59
| | | | | | | | | coalescer) handle sub-register classes. - Add heuristics to avoid non-profitable cse. Given the current lack of live range splitting, avoid cse when an expression has PHI use and the would be new use is in a BB where the expression wasn't already being used. llvm-svn: 98043
* Don't try to fold V_SET0 and V_SETALLONES to loads in medium andDan Gohman2010-03-091-0/+5
| | | | | | large code models. llvm-svn: 98042
* This is part of an LLC-beta test used to test <rdar://problem/6804645>. PleaseBill Wendling2010-03-091-1/+31
| | | | | | bear with the awful code. It won't last in its current state beyond tonight. llvm-svn: 98040
* Speculatively revert r98035. It appears to have caused a set of buildbotEric Christopher2010-03-094-24/+24
| | | | | | failures. llvm-svn: 98039
* Attempt to make this debug output meaningful, both in the case ofDan Gohman2010-03-091-3/+6
| | | | | | multibyte opcodes and in the case of multiple scopes. llvm-svn: 98036
* Now that setStartLabel takes an MCSymbol, we can de-ID'izeChris Lattner2010-03-094-24/+24
| | | | | | beginScope and RecordSourceLine. llvm-svn: 98035
* change DbgScope to keep track of the start/end label as MCSymbol* Chris Lattner2010-03-091-41/+36
| | | | | | now that the dependence on ID is removed from MMI. llvm-svn: 98034
* Make isLCSSA ignore uses in blocks not reachable from the entry block,Dan Gohman2010-03-091-3/+14
| | | | | | as LCSSA no longer transforms such uses. llvm-svn: 98033
* remove a useless optimization: now that label replacement neverChris Lattner2010-03-091-7/+0
| | | | | | happens, the start/end of a scope can never be the same. llvm-svn: 98032
* strength reduce MMI::MappedLabel to MMI::isLabelDeleted,Chris Lattner2010-03-094-28/+28
| | | | | | | and add a FIXME about how we are eventually going to zap this lookup table once mc world domination is complete. llvm-svn: 98031
* MC/Mach-O: Tweak .dump() formatting.Daniel Dunbar2010-03-091-4/+4
| | | | llvm-svn: 98028
* MC/Mach-O: Don't adjust section sizes when aligning zero fill sections, just ↵Daniel Dunbar2010-03-091-5/+1
| | | | | | pad the address. llvm-svn: 98027
* Another place where debug info affected codegen.Dale Johannesen2010-03-091-0/+2
| | | | llvm-svn: 98026
* mcstreamerize AsmPrinter::printLabel.Chris Lattner2010-03-092-6/+8
| | | | llvm-svn: 98025
* Add inlining threshold to log output.Jakob Stoklund Olesen2010-03-091-1/+4
| | | | llvm-svn: 98024
* Disable physical register coalescing when the number of live ranges for theJakob Stoklund Olesen2010-03-091-0/+12
| | | | | | | | | | | | | physreg becomes ridiculously high. std::upper_bound may be log(N), but for sufficiently large live intervals, it becomes log(N)*cachemiss = a long long time. This patch improves coalescer time by 4500x for a function with 20000 function calls. The generated code is different, but not significantly worse - the allocator hints are almost as good as physreg coalescing anyway. llvm-svn: 98023
* Start using DIFile. See updated SourceLevelDebugging.html for more information.Devang Patel2010-03-091-24/+25
| | | | | | | | | This patch updates LLVMDebugVersion to 8. Debug info descriptors encoded using LLVMDebugVersion 7 is supported. Corresponding llvmgcc and clang FE commits are required. llvm-svn: 98020
* Print blank line and clear stubs vector.Bill Wendling2010-03-091-2/+13
| | | | llvm-svn: 98019
* MC-ize the stub printing in ARM.Bill Wendling2010-03-092-5/+18
| | | | llvm-svn: 98018
* add a EmitSymbolValue convenience method to MCStreamer.Chris Lattner2010-03-094-9/+9
| | | | llvm-svn: 98017
OpenPOWER on IntegriCloud