OSDN Git Service
Nick Lewycky [Wed, 6 Oct 2010 18:11:50 +0000 (18:11 +0000)]
Remove unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115802
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 6 Oct 2010 16:59:24 +0000 (16:59 +0000)]
Remove compatibilty code for old-style multiple return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115799
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 16:51:55 +0000 (16:51 +0000)]
target operand flag values aren't a bitmask
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115798
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 6 Oct 2010 16:47:31 +0000 (16:47 +0000)]
Make sure weak symbols are listed after the local ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115795
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 6 Oct 2010 16:23:36 +0000 (16:23 +0000)]
Correctly handle GOTPCREL relocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115793
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 6 Oct 2010 16:18:29 +0000 (16:18 +0000)]
ComputeLinearIndex doesn't need its TLI argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115792
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 6 Oct 2010 15:49:14 +0000 (15:49 +0000)]
Constify isReachableFromEntry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115788
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Wed, 6 Oct 2010 11:43:06 +0000 (11:43 +0000)]
Add missing "-" to the command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115777
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 6 Oct 2010 07:19:18 +0000 (07:19 +0000)]
Remove tabs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115764
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 6 Oct 2010 07:03:52 +0000 (07:03 +0000)]
Change RequiresMerge to RequiresUnique. It's a better description of what this
fix is trying to accomplish.
This code could still use some polishing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115759
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 6 Oct 2010 06:45:11 +0000 (06:45 +0000)]
No need to check out everything: binutils is enough.
Patch by John Tytgat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115757
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Oct 2010 06:27:31 +0000 (06:27 +0000)]
- Add TargetInstrInfo::getOperandLatency() to compute operand latencies. This
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115755
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 6 Oct 2010 06:16:30 +0000 (06:16 +0000)]
If the destination module all ready has a copy of the global coming from the
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>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115753
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 05:55:42 +0000 (05:55 +0000)]
enhance X86TypeInfo to include information about the encoding and
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115752
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 6 Oct 2010 05:36:01 +0000 (05:36 +0000)]
Update release location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 05:35:22 +0000 (05:35 +0000)]
add a class for _REV nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115748
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 05:28:38 +0000 (05:28 +0000)]
sink more intelligence into the ITy base class. Now it knows
that i8 operations are even and i16,i32,i64 operations have a
low opcode bit set (they are odd).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 05:20:57 +0000 (05:20 +0000)]
refactor things a bit, now the REX_W and OpSize prefix bytes are inferred from the type info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115745
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 04:58:43 +0000 (04:58 +0000)]
with tblgen suitably extended, we can now get the load node from typeinfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115744
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 04:55:48 +0000 (04:55 +0000)]
Generalize tblgen's dag parsing logic to handle arbitrary expressions
as the operator of the dag. Specifically, this allows parsing things
like (F.x 4) in addition to just (a 4).
Unfortunately, this runs afoul of an idiom being used by llvmc. It
is using dags like (foo [1,2,3]) to represent a list of stuff being
passed into foo. With this change, this is parsed as a [1,2,3]
subscript on foo instead of being the first argument to the dag.
Cope with this in the short term by requiring a "-llvmc-temp-hack"
argument to tblgen to get the old parsing behavior.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 04:37:17 +0000 (04:37 +0000)]
rename add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115741
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 04:36:30 +0000 (04:36 +0000)]
filecheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 04:31:40 +0000 (04:31 +0000)]
cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115739
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 6 Oct 2010 02:15:22 +0000 (02:15 +0000)]
lib/System/Win32/Signals.inc: Enable LLVM_DISABLE_CRT_DEBUG also on mingw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115731
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 6 Oct 2010 01:22:42 +0000 (01:22 +0000)]
Provide a fast "get me the target triple from the module" API. This can
drastically reduce the linking time during LTO.
Patch by Shantonu Sen!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 00:45:24 +0000 (00:45 +0000)]
lets go all meta and define new X86 type wrappers that declare the associated
gunk that goes along with an MVT (e.g. reg class, preferred load operation,
memory operand)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 00:30:49 +0000 (00:30 +0000)]
introduce a new BinOpRM class and use it to factor AND*rm. This points out
that I need a heavier handed approach to get ultimate factorization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 00:19:21 +0000 (00:19 +0000)]
remove the !nameconcat tblgen feature. It "shorthand" and only used in 4 places
where !cast is just as short.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115722
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Oct 2010 00:05:18 +0000 (00:05 +0000)]
replace stuff like:
let AsmString = !strconcat(
!strconcat(!strconcat(opc, "${p}"), !strconcat(".", dt)),
!strconcat("\t", asm));
with:
let AsmString = !strconcat(opc, "${p}", ".", dt, "\t", asm);
:)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 23:58:18 +0000 (23:58 +0000)]
allow !strconcat to take more than two operands to eliminate
!strconcat(!strconcat(!strconcat(!strconcat
Simplify some x86 td files to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115719
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 23:57:26 +0000 (23:57 +0000)]
Use a relocation against the symbol if it is a PLT and the symbol is in another
section. Common because of linkonce sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115718
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 5 Oct 2010 23:50:58 +0000 (23:50 +0000)]
Comment out fastisel debugging message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115717
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 23:43:04 +0000 (23:43 +0000)]
associate the instruction suffix letter with the integer gpr
register class, and use this to simplify use of BinOpRR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 23:32:05 +0000 (23:32 +0000)]
introduce a new BinOpRR class, and convert 4 and instructions to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115715
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 5 Oct 2010 23:13:24 +0000 (23:13 +0000)]
Random cleanup and make the intermediate register in fptosi a
32-bit fp reg, not 64-bit.
Fixes SingleSource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115711
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 23:10:12 +0000 (23:10 +0000)]
Count uses in all nested loops, not just the deepest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115710
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 23:10:09 +0000 (23:10 +0000)]
Remove SplitAnalysis::removeUse. It was only used to make SplitAnalysis
reusable, but that is no longer relevant since a split will always replace the
original.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115709
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 23:10:04 +0000 (23:10 +0000)]
dupli always has an interval now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115708
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 23:09:10 +0000 (23:09 +0000)]
Move cmov pseudo instructions to InstrCompiler,
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(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115707
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 23:00:14 +0000 (23:00 +0000)]
Use #NAME# to have the CMOV multiclass define things with the same names as before
(e.g. CMOVBE16rr instead of CMOVBErr16).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115705
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 22:59:29 +0000 (22:59 +0000)]
when david added support for #NAME# he didn't update the comments and
tried (but failed) to artificially constrain it to working with #NAME#.
Just allow any # in identifiers, and update the comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115704
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 5 Oct 2010 22:58:16 +0000 (22:58 +0000)]
Another step towards getting rid of static ctors for pass registration: have 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115703
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 22:51:56 +0000 (22:51 +0000)]
enhance tblgen to support anonymous defm's, use this to
simplify the X86 CMOVmr's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115702
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 22:42:54 +0000 (22:42 +0000)]
convert cmov mr patterns to use a multipattern. Death to redundancy
and verbosity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115701
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 22:26:43 +0000 (22:26 +0000)]
Implement more alias cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115699
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 22:23:58 +0000 (22:23 +0000)]
switch CMOVBE to the multipattern:
21 insertions(+), 53 deletions(-)
Moar change coming before I switch the rest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115697
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 22:19:35 +0000 (22:19 +0000)]
We can split around loops with multiple exits now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115696
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 22:19:33 +0000 (22:19 +0000)]
Update SplitEditor API to reflect the fact that the original live interval is
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115695
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 22:19:29 +0000 (22:19 +0000)]
Intervals are half-open.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115694
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 22:16:48 +0000 (22:16 +0000)]
fix a bug I introduced in r115669, which ended up with MOV64mr_TC
not getting marked as mayStore. This fixes llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115693
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 22:01:02 +0000 (22:01 +0000)]
add a multiclass for cmov's, but don't start using it yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115692
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 5 Oct 2010 21:58:12 +0000 (21:58 +0000)]
PSHUFW is in SSE, not SSSE3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115691
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 21:34:29 +0000 (21:34 +0000)]
use a multipattern to define setcc instructions:
X86InstrCMovSetCC.td | 200 ++++++---------------------------------------------
1 file changed, 27 insertions(+), 173 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115689
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 21:20:07 +0000 (21:20 +0000)]
256 sections should be enough for anyone...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115687
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 21:18:04 +0000 (21:18 +0000)]
move SETB pseudos into the same place in InstrCompiler.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115686
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 21:09:45 +0000 (21:09 +0000)]
Replace a gross hack (the MOV64ri_alt instruction) with a slightly less
gross hack (having the asmmatcher handle the alias).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115685
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 21:02:45 +0000 (21:02 +0000)]
Don't crash in a strange .size directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115684
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 20:49:15 +0000 (20:49 +0000)]
distribute the rest of the contents of X86Instr64bit.td out to
the right places. X86Instr64bit.td now dies, long live x86-64!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115669
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 20:36:28 +0000 (20:36 +0000)]
When we find a reaching definition, make sure it is visited from all paths by
erasing it from the visited set. That ensures we create the right phi defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115666
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 20:36:25 +0000 (20:36 +0000)]
Don't use nextIndex to check for live out of instruction.
Insert copy after defining instruction.
Fix LiveIntervalMap::extendTo to properly handle live segments starting before
the current basic block.
Make sure the open live range is extended to the inserted copy's use slot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115665
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 5 Oct 2010 20:35:57 +0000 (20:35 +0000)]
trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115664
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 20:35:37 +0000 (20:35 +0000)]
move the rest of the simple 64-bit arithmetic into InstrArithmetic.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115663
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 5 Oct 2010 20:32:15 +0000 (20:32 +0000)]
Remove trailing space. This is just an excuse to poke the
buildbots, since I seem to have blown up the build master :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115662
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 20:23:31 +0000 (20:23 +0000)]
continue moving 64-bit stuff into X86InstrArithmetic.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115660
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Tue, 5 Oct 2010 19:48:12 +0000 (19:48 +0000)]
Fix Punctuation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115657
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Tue, 5 Oct 2010 19:48:03 +0000 (19:48 +0000)]
MC-COFF: Fix (PR8278) temporary symbol relocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115656
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 19:42:57 +0000 (19:42 +0000)]
Add support for a fill value in the .zero directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115655
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 18:48:57 +0000 (18:48 +0000)]
Tweak VNInfo printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115650
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Oct 2010 18:48:55 +0000 (18:48 +0000)]
Add assert for valid slot indexes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115649
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 5 Oct 2010 18:14:55 +0000 (18:14 +0000)]
Increase the number of bits used internally by the ARM target to represent the
addressing mode from four to five.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115645
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 18:01:23 +0000 (18:01 +0000)]
Implement a simple alias case and refactor the code a bit so that the
isInSymtab and isLocal logic in the two loops don't get easily out of sync.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115643
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Tue, 5 Oct 2010 17:57:08 +0000 (17:57 +0000)]
test/COFF: Fix symbol indexes and names. Update tests to match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115642
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Tue, 5 Oct 2010 17:56:56 +0000 (17:56 +0000)]
test/COFF: Remove temp file usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115641
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Tue, 5 Oct 2010 17:56:46 +0000 (17:56 +0000)]
test/coff-dump: Support reading from stdin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115640
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Tue, 5 Oct 2010 17:56:37 +0000 (17:56 +0000)]
Cleanup Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115639
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 5 Oct 2010 17:24:05 +0000 (17:24 +0000)]
Use a more efficient lowering of uint64_t --> float that can take advantage of hardware signed integer conversion without
having to do a double cast (uint64_t --> double --> float). This is based on the algorithm from compiler_rt's __floatundisf
for X86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115634
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 16:59:08 +0000 (16:59 +0000)]
move 64-bit add and adc to InstrArithmetic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115632
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 16:52:25 +0000 (16:52 +0000)]
rewrote two addr constraints so that they are only set, not set and then nestedly cleared.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 16:39:12 +0000 (16:39 +0000)]
split the 32-bit integer arithmetic instructions out to their own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115627
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 5 Oct 2010 15:59:36 +0000 (15:59 +0000)]
Update attribute reading for the changed source location code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115624
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 15:48:37 +0000 (15:48 +0000)]
Produce a undefined reference to _GLOBAL_OFFSET_TABLE_ when needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115623
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 15:43:32 +0000 (15:43 +0000)]
Tests that now pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115622
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Oct 2010 15:30:27 +0000 (15:30 +0000)]
After printing "Running 'Graphviz' program... " and running the
Graphviz program, print something with a newline, to avoid leaving
the line unfinished.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115620
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 5 Oct 2010 15:11:03 +0000 (15:11 +0000)]
On ELF we need to know which symbols are used in relocations to decide if
they should be in the symbol table or not. Instead of "guessing", just compute
the symbol table after the relocations are known.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115619
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 5 Oct 2010 14:51:48 +0000 (14:51 +0000)]
Properly deserialize Clang types that are used as attribute arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115616
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 5 Oct 2010 11:16:24 +0000 (11:16 +0000)]
test/CodeGen/X86/atomic_op.ll: Rename @main to @func. Extra sequences will be inserted to @main as prologue on cygming, to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 07:13:35 +0000 (07:13 +0000)]
integrate the 64-bit shifts into X86InstrShiftRotate.td. Enough for tonight.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115608
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 07:00:12 +0000 (07:00 +0000)]
move 32-bit shift and rotates out to their own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115607
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:52:35 +0000 (06:52 +0000)]
add new file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115606
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:52:26 +0000 (06:52 +0000)]
move sign and zero extensions out to their own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:47:35 +0000 (06:47 +0000)]
move some instructions from Instr64Bit -> InstrInfo.
bswap32 doesn't read eflags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115604
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:41:40 +0000 (06:41 +0000)]
move CMOV_FR32 and friends to InstrCompiler, since they are
pseudo instructions.
Move POPCNT to InstrSSE since they are SSE4 instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115603
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:37:31 +0000 (06:37 +0000)]
move various pattern matching support goop out of X86Instr64Bit, to live
with the 32-bit stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115602
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:33:16 +0000 (06:33 +0000)]
split conditional moves and setcc's out to their own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115601
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:27:48 +0000 (06:27 +0000)]
move string pseudo instructions to InstrCompiler consolidate 64-bit and 32-bit together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115600
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:22:35 +0000 (06:22 +0000)]
move the atomic pseudo instructions out to X86InstrCompiler.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115599
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:10:16 +0000 (06:10 +0000)]
move more pseudo instructions out to X86InstrCompiler.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115598
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:06:53 +0000 (06:06 +0000)]
move VMX instructions out to their own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115597
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Oct 2010 06:04:14 +0000 (06:04 +0000)]
continue moving stuff out to X86InstrSystem.td. Move
control flow stuff out to X86InstrControl.td. Move
some compiler pseudo instructions and Pat<> patterns
out to X86InstrCompiler.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115596
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Tue, 5 Oct 2010 06:00:52 +0000 (06:00 +0000)]
Support: Add __forceinline to Compiler.h on MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115595
91177308-0d34-0410-b5e6-
96231b3b80d8