aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98116 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Use the SECTDIFF relocation type for (A - B + constant) where A ↵Daniel Dunbar2010-03-102-8/+66
| | | | | | | | is external. - I'm not sure why, but this is what 'as' does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98115 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear up the last (famous last words) frame index value reuse issues for Thumb1.Jim Grosbach2010-03-103-8/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98109 91177308-0d34-0410-b5e6-96231b3b80d8
* Speculatively revert 98104; could be what's causing crashesDale Johannesen2010-03-101-56/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98108 91177308-0d34-0410-b5e6-96231b3b80d8
* mcize uses of PrintRelDirective and eliminate it.Chris Lattner2010-03-103-21/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98107 91177308-0d34-0410-b5e6-96231b3b80d8
* inline the bool form of PrintRelDirective away, leaving just the unsigned form.Chris Lattner2010-03-092-9/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98106 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98105 91177308-0d34-0410-b5e6-96231b3b80d8
* Ever more complicated DEBUG_VALUE fixes for branch folding.Dale Johannesen2010-03-091-3/+56
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98104 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid analyzing instructions in blocks not reachable from the entry block.Dan Gohman2010-03-092-2/+22
| | | | | | | They are lots of trouble, and they don't matter. This fixes PR6559. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98103 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a bunch of \n's that are being printed to O. Next up is to killChris Lattner2010-03-092-35/+19
| | | | | | | off "EOL". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98102 91177308-0d34-0410-b5e6-96231b3b80d8
* 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". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98101 91177308-0d34-0410-b5e6-96231b3b80d8
* make the NullStreamer set the section on a label when emitted so that ↵Chris Lattner2010-03-091-1/+5
| | | | | | isDefined() works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98100 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to keep the cached inliner costs around for a bit longer for big functions.Jakob Stoklund Olesen2010-03-096-6/+63
| | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98099 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/X86: Rename alternate spellings of ADD{8,16,32} and mark as "code gen ↵Daniel Dunbar2010-03-092-9/+14
| | | | | | only" so they don't get selected by the asm matcher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98098 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/X86: Rename alternate spellings of CMP{8,16,32} and mark as "code gen ↵Daniel Dunbar2010-03-092-6/+15
| | | | | | only" so they don't get selected by the asm matcher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98097 91177308-0d34-0410-b5e6-96231b3b80d8
* Continue propagating the GoogleTest flags until we can update our version toChandler Carruth2010-03-092-1/+8
| | | | | | | | eliminate this problem. This will hopefully let us make progress on Linux bootstrapping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98095 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r98089, it was breaking a clang test.Jakob Stoklund Olesen2010-03-096-57/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98094 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to keep the cached inliner costs around for a bit longer for big functions.Jakob Stoklund Olesen2010-03-096-6/+57
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98089 91177308-0d34-0410-b5e6-96231b3b80d8
* Permit inlining into huge functions. This heuristic is ancient, and inliningJakob Stoklund Olesen2010-03-091-5/+0
| | | | | | can sometimes help reduce function size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98088 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the Value argument to eliminateFrameIndex to a type-tagged value. ThisJim Grosbach2010-03-0930-33/+40
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98086 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98085 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: For PCrel relocations, we need to compensate for the PCrel ↵Daniel Dunbar2010-03-092-5/+71
| | | | | | adjustment when determining if we need a scattered relocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98082 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Also set the PCrel bit in the second half of paired relocation ↵Daniel Dunbar2010-03-091-4/+2
| | | | | | entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98081 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Don't generate relocations for PCrel fixups to local labels.Daniel Dunbar2010-03-091-9/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98080 91177308-0d34-0410-b5e6-96231b3b80d8
* The address of an indirect call must be in R12 on Darwin.Dale Johannesen2010-03-092-0/+29
| | | | | | | | | | 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.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98077 91177308-0d34-0410-b5e6-96231b3b80d8
* Consolidate GoogleTest make options and duplicate them to its own makefile.Chandler Carruth2010-03-092-8/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98074 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98071 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98068 91177308-0d34-0410-b5e6-96231b3b80d8
* In cases where the carry / borrow unused converted ladd / lsubRichard Osborne2010-03-092-0/+69
| | | | | | | to an add or a sub. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98059 91177308-0d34-0410-b5e6-96231b3b80d8
* Canonicalize ladd constant to RHS.Richard Osborne2010-03-091-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98058 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DAG combine for ladd / lsub.Richard Osborne2010-03-093-0/+98
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98057 91177308-0d34-0410-b5e6-96231b3b80d8
* Attempt to fix random build failures seen when doing highlyDuncan Sands2010-03-091-2/+1
| | | | | | | | parallel builds: the gold plugin fails to link because the lto library is in the middle of being written out by the linker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98054 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow more cross-rc coalescing.Evan Cheng2010-03-091-10/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98048 91177308-0d34-0410-b5e6-96231b3b80d8
* reapply r98035:Chris Lattner2010-03-095-28/+29
| | | | | | | | Now that setStartLabel takes an MCSymbol, we can de-ID'ize beginScope and RecordSourceLine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
* add some extra checks. I'm not sure why, but this does unbreak aChris Lattner2010-03-091-0/+3
| | | | | | | failure remaining on mainline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert accidental commit.Evan Cheng2010-03-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98045 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't do illegal cross-class coalescing.Jakob Stoklund Olesen2010-03-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98044 91177308-0d34-0410-b5e6-96231b3b80d8
* - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98043 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't try to fold V_SET0 and V_SETALLONES to loads in medium andDan Gohman2010-03-091-0/+5
| | | | | | | large code models. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98042 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98040 91177308-0d34-0410-b5e6-96231b3b80d8
* Speculatively revert r98035. It appears to have caused a set of buildbotEric Christopher2010-03-095-29/+28
| | | | | | | failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98036 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that setStartLabel takes an MCSymbol, we can de-ID'izeChris Lattner2010-03-095-28/+29
| | | | | | | | beginScope and RecordSourceLine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8
* Make isLCSSA ignore uses in blocks not reachable from the entry block,Dan Gohman2010-03-092-3/+41
| | | | | | | as LCSSA no longer transforms such uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98033 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8
* strength reduce MMI::MappedLabel to MMI::isLabelDeleted,Chris Lattner2010-03-095-33/+34
| | | | | | | | and add a FIXME about how we are eventually going to zap this lookup table once mc world domination is complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8
* inline RemapLabel into its only caller and simplify.Chris Lattner2010-03-091-11/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98029 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Tweak .dump() formatting.Daniel Dunbar2010-03-091-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98028 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Don't adjust section sizes when aligning zero fill sections, just ↵Daniel Dunbar2010-03-091-5/+1
| | | | | | pad the address. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98027 91177308-0d34-0410-b5e6-96231b3b80d8