Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Hide analysis group registration behind a macro, just like pass registration. | Owen Anderson | 2010-10-06 | 4 | -4/+4 |
| | | | | llvm-svn: 115835 | ||||
* | Add support for DW_TAG_unspecified_parameters. | Devang Patel | 2010-10-06 | 2 | -7/+29 |
| | | | | llvm-svn: 115833 | ||||
* | Add a 'pattern' arg to the ARM PseudoNeonI class. | Jim Grosbach | 2010-10-06 | 2 | -7/+9 |
| | | | | llvm-svn: 115831 | ||||
* | MC: Add missing forward in MCLoggingStreamer. | Michael J. Spencer | 2010-10-06 | 1 | -0/+1 |
| | | | | llvm-svn: 115830 | ||||
* | Revert "RequiresUnique" patch. This should be handled at a lower level. | Bill Wendling | 2010-10-06 | 1 | -37/+7 |
| | | | | llvm-svn: 115827 | ||||
* | If a symbol is global, reloc against it even if it is in a mergeable section. | Rafael Espindola | 2010-10-06 | 1 | -3/+3 |
| | | | | llvm-svn: 115817 | ||||
* | Remove unused variables. | Nick Lewycky | 2010-10-06 | 1 | -3/+0 |
| | | | | llvm-svn: 115802 | ||||
* | target operand flag values aren't a bitmask | Jim Grosbach | 2010-10-06 | 1 | -2/+2 |
| | | | | llvm-svn: 115798 | ||||
* | Make sure weak symbols are listed after the local ones. | Rafael Espindola | 2010-10-06 | 2 | -2/+4 |
| | | | | llvm-svn: 115795 | ||||
* | Correctly handle GOTPCREL relocations. | Rafael Espindola | 2010-10-06 | 1 | -3/+6 |
| | | | | llvm-svn: 115793 | ||||
* | ComputeLinearIndex doesn't need its TLI argument. | Dan Gohman | 2010-10-06 | 2 | -9/+7 |
| | | | | llvm-svn: 115792 | ||||
* | Change RequiresMerge to RequiresUnique. It's a better description of what this | Bill Wendling | 2010-10-06 | 1 | -7/+8 |
| | | | | | | | | fix is trying to accomplish. This code could still use some polishing. llvm-svn: 115759 | ||||
* | - Add TargetInstrInfo::getOperandLatency() to compute operand latencies. This | Evan Cheng | 2010-10-06 | 12 | -65/+335 |
| | | | | | | | | | | | | | allow target to correctly compute latency for cases where static scheduling itineraries isn't sufficient. e.g. variable_ops instructions such as ARM::ldm. This also allows target without scheduling itineraries to compute operand latencies. e.g. X86 can return (approximated) latencies for high latency instructions such as division. - Compute operand latencies for those defined by load multiple instructions, e.g. ldm and those used by store multiple instructions, e.g. stm. llvm-svn: 115755 | ||||
* | If the destination module all ready has a copy of the global coming from the | Bill Wendling | 2010-10-06 | 1 | -7/+36 |
| | | | | | | | | | | | | | source module *and* it must be merged (instead of simply replaced or appended to), then merge instead of replacing or adding another global. The ObjC __image_info section was being appended to because of this failure. This caused a crash because the linker expects the image info section to be a specific size. <rdar://problem/8198537> llvm-svn: 115753 | ||||
* | enhance X86TypeInfo to include information about the encoding and | Chris Lattner | 2010-10-06 | 1 | -20/+36 |
| | | | | | | | | operand kind for immediates. Use these to define a new BinOpRI class and switch AND8/16/32ri over to it. AND64ri32 needs some more refactoring before it can make the switcheroo. llvm-svn: 115752 | ||||
* | add a class for _REV nodes. | Chris Lattner | 2010-10-06 | 1 | -19/+21 |
| | | | | llvm-svn: 115748 | ||||
* | sink more intelligence into the ITy base class. Now it knows | Chris Lattner | 2010-10-06 | 1 | -12/+21 |
| | | | | | | | that i8 operations are even and i16,i32,i64 operations have a low opcode bit set (they are odd). llvm-svn: 115747 | ||||
* | refactor things a bit, now the REX_W and OpSize prefix bytes are inferred ↵ | Chris Lattner | 2010-10-06 | 1 | -22/+46 |
| | | | | | | from the type info. llvm-svn: 115745 | ||||
* | with tblgen suitably extended, we can now get the load node from typeinfo. | Chris Lattner | 2010-10-06 | 1 | -6/+6 |
| | | | | llvm-svn: 115744 | ||||
* | lib/System/Win32/Signals.inc: Enable LLVM_DISABLE_CRT_DEBUG also on mingw. | NAKAMURA Takumi | 2010-10-06 | 1 | -6/+2 |
| | | | | llvm-svn: 115731 | ||||
* | Provide a fast "get me the target triple from the module" API. This can | Bill Wendling | 2010-10-06 | 2 | -1/+129 |
| | | | | | | | | drastically reduce the linking time during LTO. Patch by Shantonu Sen! llvm-svn: 115728 | ||||
* | lets go all meta and define new X86 type wrappers that declare the associated | Chris Lattner | 2010-10-06 | 2 | -42/+65 |
| | | | | | | | gunk that goes along with an MVT (e.g. reg class, preferred load operation, memory operand) llvm-svn: 115727 | ||||
* | introduce a new BinOpRM class and use it to factor AND*rm. This points out | Chris Lattner | 2010-10-06 | 1 | -21/+16 |
| | | | | | | that I need a heavier handed approach to get ultimate factorization. llvm-svn: 115726 | ||||
* | remove the !nameconcat tblgen feature. It "shorthand" and only used in 4 places | Chris Lattner | 2010-10-06 | 1 | -8/+8 |
| | | | | | | where !cast is just as short. llvm-svn: 115722 | ||||
* | replace stuff like: | Chris Lattner | 2010-10-06 | 1 | -15/+11 |
| | | | | | | | | | | | | | | let AsmString = !strconcat( !strconcat(!strconcat(opc, "${p}"), !strconcat(".", dt)), !strconcat("\t", asm)); with: let AsmString = !strconcat(opc, "${p}", ".", dt, "\t", asm); :) llvm-svn: 115720 | ||||
* | allow !strconcat to take more than two operands to eliminate | Chris Lattner | 2010-10-05 | 3 | -16/+12 |
| | | | | | | | | !strconcat(!strconcat(!strconcat(!strconcat Simplify some x86 td files to use it. llvm-svn: 115719 | ||||
* | Use a relocation against the symbol if it is a PLT and the symbol is in another | Rafael Espindola | 2010-10-05 | 1 | -2/+11 |
| | | | | | | section. Common because of linkonce sections. llvm-svn: 115718 | ||||
* | Comment out fastisel debugging message. | Eric Christopher | 2010-10-05 | 1 | -1/+1 |
| | | | | llvm-svn: 115717 | ||||
* | associate the instruction suffix letter with the integer gpr | Chris Lattner | 2010-10-05 | 2 | -18/+29 |
| | | | | | | register class, and use this to simplify use of BinOpRR. llvm-svn: 115716 | ||||
* | introduce a new BinOpRR class, and convert 4 and instructions to use it. | Chris Lattner | 2010-10-05 | 1 | -19/+12 |
| | | | | llvm-svn: 115715 | ||||
* | Random cleanup and make the intermediate register in fptosi a | Eric Christopher | 2010-10-05 | 1 | -5/+5 |
| | | | | | | | | 32-bit fp reg, not 64-bit. Fixes SingleSource. llvm-svn: 115711 | ||||
* | Count uses in all nested loops, not just the deepest. | Jakob Stoklund Olesen | 2010-10-05 | 1 | -1/+2 |
| | | | | llvm-svn: 115710 | ||||
* | Remove SplitAnalysis::removeUse. It was only used to make SplitAnalysis | Jakob Stoklund Olesen | 2010-10-05 | 2 | -32/+0 |
| | | | | | | | reusable, but that is no longer relevant since a split will always replace the original. llvm-svn: 115709 | ||||
* | dupli always has an interval now. | Jakob Stoklund Olesen | 2010-10-05 | 1 | -14/+11 |
| | | | | llvm-svn: 115708 | ||||
* | Move cmov pseudo instructions to InstrCompiler, | Chris Lattner | 2010-10-05 | 2 | -582/+77 |
| | | | | | | | | | | | convert all the rest of the cmovs to the multiclass, with good results: X86InstrCMovSetCC.td | 598 +-------------------------------------------------- X86InstrCompiler.td | 61 +++++ 2 files changed, 77 insertions(+), 582 deletions(-) llvm-svn: 115707 | ||||
* | Use #NAME# to have the CMOV multiclass define things with the same names as ↵ | Chris Lattner | 2010-10-05 | 4 | -43/+46 |
| | | | | | | | | before (e.g. CMOVBE16rr instead of CMOVBErr16). llvm-svn: 115705 | ||||
* | Another step towards getting rid of static ctors for pass registration: have ↵ | Owen Anderson | 2010-10-05 | 1 | -1/+0 |
| | | | | | | | | | | INITIALIZE_PASS AND INITIALIZE_AG_PASS expand to an initializeMyPass() function (in additional to the extant static ctors). Eventually, these will be called from a big InitializeAllPasses() function, and the PassInfo's they create (which would be leaked if this code were used at the moment) will be handed off to a PassRegistry for ownership. llvm-svn: 115703 | ||||
* | enhance tblgen to support anonymous defm's, use this to | Chris Lattner | 2010-10-05 | 1 | -16/+16 |
| | | | | | | simplify the X86 CMOVmr's. llvm-svn: 115702 | ||||
* | convert cmov mr patterns to use a multipattern. Death to redundancy | Chris Lattner | 2010-10-05 | 1 | -97/+25 |
| | | | | | | and verbosity llvm-svn: 115701 | ||||
* | Implement more alias cases. | Rafael Espindola | 2010-10-05 | 1 | -0/+11 |
| | | | | llvm-svn: 115699 | ||||
* | switch CMOVBE to the multipattern: | Chris Lattner | 2010-10-05 | 4 | -53/+21 |
| | | | | | | | | 21 insertions(+), 53 deletions(-) Moar change coming before I switch the rest. llvm-svn: 115697 | ||||
* | We can split around loops with multiple exits now. | Jakob Stoklund Olesen | 2010-10-05 | 1 | -6/+0 |
| | | | | llvm-svn: 115696 | ||||
* | Update SplitEditor API to reflect the fact that the original live interval is | Jakob Stoklund Olesen | 2010-10-05 | 3 | -39/+27 |
| | | | | | | | | | | never kept after splitting. Keeping the original interval made sense when the split region doesn't modify the register, and the original is spilled. We can get the same effect by detecting reloaded values when spilling around copies. llvm-svn: 115695 | ||||
* | Intervals are half-open. | Jakob Stoklund Olesen | 2010-10-05 | 1 | -1/+1 |
| | | | | llvm-svn: 115694 | ||||
* | fix a bug I introduced in r115669, which ended up with MOV64mr_TC | Chris Lattner | 2010-10-05 | 1 | -1/+2 |
| | | | | | | not getting marked as mayStore. This fixes llvm-gcc bootstrap. llvm-svn: 115693 | ||||
* | add a multiclass for cmov's, but don't start using it yet. | Chris Lattner | 2010-10-05 | 1 | -1/+40 |
| | | | | llvm-svn: 115692 | ||||
* | use a multipattern to define setcc instructions: | Chris Lattner | 2010-10-05 | 1 | -173/+27 |
| | | | | | | | X86InstrCMovSetCC.td | 200 ++++++--------------------------------------------- 1 file changed, 27 insertions(+), 173 deletions(-) llvm-svn: 115689 | ||||
* | 256 sections should be enough for anyone... | Rafael Espindola | 2010-10-05 | 1 | -1/+1 |
| | | | | llvm-svn: 115687 | ||||
* | move SETB pseudos into the same place in InstrCompiler.td | Chris Lattner | 2010-10-05 | 2 | -21/+13 |
| | | | | llvm-svn: 115686 | ||||
* | Replace a gross hack (the MOV64ri_alt instruction) with a slightly less | Chris Lattner | 2010-10-05 | 3 | -11/+10 |
| | | | | | | gross hack (having the asmmatcher handle the alias). llvm-svn: 115685 |