oota-llvm.git
14 years agoCount uses in all nested loops, not just the deepest.
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

14 years agoRemove SplitAnalysis::removeUse. It was only used to make SplitAnalysis
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

14 years agodupli always has an interval now.
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

14 years agoMove cmov pseudo instructions to InstrCompiler,
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

14 years agoUse #NAME# to have the CMOV multiclass define things with the same names as before
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

14 years agowhen david added support for #NAME# he didn't update the comments and
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

14 years agoAnother step towards getting rid of static ctors for pass registration: have INITIALI...
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

14 years agoenhance tblgen to support anonymous defm's, use this to
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

14 years agoconvert cmov mr patterns to use a multipattern. Death to redundancy
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

14 years agoImplement more alias cases.
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

14 years agoswitch CMOVBE to the multipattern:
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

14 years agoWe can split around loops with multiple exits now.
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

14 years agoUpdate SplitEditor API to reflect the fact that the original live interval is
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

14 years agoIntervals are half-open.
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

14 years agofix a bug I introduced in r115669, which ended up with MOV64mr_TC
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

14 years agoadd a multiclass for cmov's, but don't start using it yet.
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

14 years agoPSHUFW is in SSE, not SSSE3.
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

14 years agouse a multipattern to define setcc instructions:
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

14 years ago256 sections should be enough for anyone...
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

14 years agomove SETB pseudos into the same place in InstrCompiler.td
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

14 years agoReplace a gross hack (the MOV64ri_alt instruction) with a slightly less
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

14 years agoDon't crash in a strange .size directive.
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

14 years agodistribute the rest of the contents of X86Instr64bit.td out to
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

14 years agoWhen we find a reaching definition, make sure it is visited from all paths by
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

14 years agoDon't use nextIndex to check for live out of instruction.
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

14 years agotrailing whitespace
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

14 years agomove the rest of the simple 64-bit arithmetic into InstrArithmetic.td
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

14 years agoRemove trailing space. This is just an excuse to poke the
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

14 years agocontinue moving 64-bit stuff into X86InstrArithmetic.td
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

14 years agoFix Punctuation.
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

14 years agoMC-COFF: Fix (PR8278) temporary symbol relocations.
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

14 years agoAdd support for a fill value in the .zero directive.
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

14 years agoTweak VNInfo printing.
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

14 years agoAdd assert for valid slot indexes.
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

14 years agoIncrease the number of bits used internally by the ARM target to represent the
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

14 years agoImplement a simple alias case and refactor the code a bit so that the
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

14 years agotest/COFF: Fix symbol indexes and names. Update tests to match.
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

14 years agotest/COFF: Remove temp file usage.
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

14 years agotest/coff-dump: Support reading from stdin.
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

14 years agoCleanup Whitespace.
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

14 years agoUse a more efficient lowering of uint64_t --> float that can take advantage of hardwa...
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

14 years agomove 64-bit add and adc to InstrArithmetic.
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

14 years agorewrote two addr constraints so that they are only set, not set and then nestedly...
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

14 years agosplit the 32-bit integer arithmetic instructions out to their own file.
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

14 years agoUpdate attribute reading for the changed source location code.
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

14 years agoProduce a undefined reference to _GLOBAL_OFFSET_TABLE_ when needed.
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

14 years agoTests that now pass.
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

14 years agoAfter printing "Running 'Graphviz' program... " and running the
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

14 years agoOn ELF we need to know which symbols are used in relocations to decide if
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

14 years agoProperly deserialize Clang types that are used as attribute arguments
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

14 years agotest/CodeGen/X86/atomic_op.ll: Rename @main to @func. Extra sequences will be inserte...
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

14 years agointegrate the 64-bit shifts into X86InstrShiftRotate.td. Enough for tonight.
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

14 years agomove 32-bit shift and rotates out to their own file.
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

14 years agoadd new file
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

14 years agomove sign and zero extensions out to their own file.
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

14 years agomove some instructions from Instr64Bit -> InstrInfo.
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

14 years agomove CMOV_FR32 and friends to InstrCompiler, since they are
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

14 years agomove various pattern matching support goop out of X86Instr64Bit, to live
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

14 years agosplit conditional moves and setcc's out to their own file.
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

14 years agomove string pseudo instructions to InstrCompiler consolidate 64-bit and 32-bit together.
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

14 years agomove the atomic pseudo instructions out to X86InstrCompiler.td
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

14 years agomove more pseudo instructions out to X86InstrCompiler.td
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

14 years agomove VMX instructions out to their own file.
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

14 years agocontinue moving stuff out to X86InstrSystem.td. Move
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

14 years agoSupport: Add __forceinline to Compiler.h on MSVC.
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

14 years agofix MSVC 2010 build.
Michael J. Spencer [Tue, 5 Oct 2010 06:00:43 +0000 (06:00 +0000)]
fix MSVC 2010 build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115594 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCleanup Whitespace.
Michael J. Spencer [Tue, 5 Oct 2010 06:00:33 +0000 (06:00 +0000)]
Cleanup Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115593 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorefactor .td files a bit, moving system instructions out to X86InstrSystem.td
Chris Lattner [Tue, 5 Oct 2010 05:32:15 +0000 (05:32 +0000)]
refactor .td files a bit, moving system instructions out to X86InstrSystem.td

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115591 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agos/The ARM has/The ARM backend has/
Jim Grosbach [Tue, 5 Oct 2010 01:00:42 +0000 (01:00 +0000)]
s/The ARM has/The ARM backend has/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115584 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate LLVMLibDeps
Jim Grosbach [Tue, 5 Oct 2010 00:35:16 +0000 (00:35 +0000)]
Update LLVMLibDeps

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115583 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRe-apply r115363 and r115366 now that r115525 has removed the un-needed header
Jim Grosbach [Tue, 5 Oct 2010 00:34:11 +0000 (00:34 +0000)]
Re-apply r115363 and r115366 now that r115525 has removed the un-needed header
that caused the circular dependencies on Linux.

Built OK for me on OSX and Linux (Ubuntu) with configure/make and CMake. Will
keep an eye on the bots....

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115582 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded a testcase for the ENTER instruction.
Sean Callanan [Tue, 5 Oct 2010 00:21:40 +0000 (00:21 +0000)]
Added a testcase for the ENTER instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115580 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFixed the disassembler to handle two new X86
Sean Callanan [Mon, 4 Oct 2010 22:45:51 +0000 (22:45 +0000)]
Fixed the disassembler to handle two new X86
instruction forms.  Now the ENTER instruction
disassembles correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115573 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThis DAG combine BRCOND transformation can look pass truncate of the operand:
Evan Cheng [Mon, 4 Oct 2010 22:41:01 +0000 (22:41 +0000)]
This DAG combine BRCOND transformation can look pass truncate of the operand:
    //   %a = ...
    //   %b = and i32 %a, 2
    //   %c = srl i32 %b, 1
    //   brcond i32 %c ...
    //
    // into
    //
    //   %a = ...
    //   %b = and i32 %a, 2
    //   %c = setcc eq %b, 0
    //   brcond %c ...

Make sure it restores local variable N1, which corresponds to the condition operand if it fails to match.

This apparently breaks TCE but since that backend isn't in the tree I don't have a test for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115571 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAVX intrinsics and builtins were also added to clang
Bruno Cardoso Lopes [Mon, 4 Oct 2010 22:07:22 +0000 (22:07 +0000)]
AVX intrinsics and builtins were also added to clang

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115566 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSpell AltiVec correctly
Douglas Gregor [Mon, 4 Oct 2010 21:12:06 +0000 (21:12 +0000)]
Spell AltiVec correctly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115560 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThe pshufw instruction came about in MMX2 when SSE was introduced. Don't place
Bill Wendling [Mon, 4 Oct 2010 20:24:01 +0000 (20:24 +0000)]
The pshufw instruction came about in MMX2 when SSE was introduced. Don't place
it in with the SSSE3 instructions.

Steward! Could you place this chair by the aft sun deck? I'm trying to get away
from the Astors. They are such boors!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115552 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIncorporate suggestions by Daniel Dunbar after his review. Thanks Daniel!
Kevin Enderby [Mon, 4 Oct 2010 20:17:24 +0000 (20:17 +0000)]
Incorporate suggestions by Daniel Dunbar after his review.  Thanks Daniel!

1) Changed ValidateDwarfFileNumber() to isValidDwarfFileNumber() to be better
   named.  Since it is just a predicate and isn't actually changing any state.

2) Added a missing return in the comments for setCurrentDwarfLoc() in
   include/llvm/MC/MCContext.h for fix formatting.

3) Changed clearDwarfLocSeen() to ClearDwarfLocSeen() since it does change
   state.

4) Simplified the last test in isValidDwarfFileNumber() to just a one line
   boolean test of MCDwarfFiles[FileNumber] != 0 for the final return statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115551 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReleaseNotes: Note some changes to LLVM development infrastructure.
Daniel Dunbar [Mon, 4 Oct 2010 20:11:41 +0000 (20:11 +0000)]
ReleaseNotes: Note some changes to LLVM development infrastructure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115550 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReleaseNotes: Note a header rename.
Daniel Dunbar [Mon, 4 Oct 2010 20:11:39 +0000 (20:11 +0000)]
ReleaseNotes: Note a header rename.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115549 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement ELF::R_X86_64_GOTPCREL.
Rafael Espindola [Mon, 4 Oct 2010 19:51:39 +0000 (19:51 +0000)]
Implement ELF::R_X86_64_GOTPCREL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115547 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove isFixupKindX86PCRel.
Rafael Espindola [Mon, 4 Oct 2010 19:46:28 +0000 (19:46 +0000)]
Move isFixupKindX86PCRel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115545 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProduce a R_X86_64_PLT32 when needed.
Rafael Espindola [Mon, 4 Oct 2010 19:04:13 +0000 (19:04 +0000)]
Produce a R_X86_64_PLT32 when needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115541 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProduce a R_X86_64_GOT32 when needed.
Rafael Espindola [Mon, 4 Oct 2010 18:44:25 +0000 (18:44 +0000)]
Produce a R_X86_64_GOT32 when needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115537 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agovalidator fixes; others remain, somebody who knows some html, please have a look
Gabor Greif [Mon, 4 Oct 2010 17:54:30 +0000 (17:54 +0000)]
validator fixes; others remain, somebody who knows some html, please have a look

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115526 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove unneeded header
Jim Grosbach [Mon, 4 Oct 2010 17:53:40 +0000 (17:53 +0000)]
Remove unneeded header

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115525 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd KLEE 2.8 release notes.
Daniel Dunbar [Mon, 4 Oct 2010 17:39:47 +0000 (17:39 +0000)]
Add KLEE 2.8 release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115524 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd hook in MCSection to decide when to use "optimized nops", for each
Jan Wen Voung [Mon, 4 Oct 2010 17:32:41 +0000 (17:32 +0000)]
Add hook in MCSection to decide when to use "optimized nops", for each
section kind. Previously, optimized nops were only used for MachO.
Also added tests for ELF and COFF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115523 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't add the operand count to SCEV uniquing data; FoldingSetNodeID
Dan Gohman [Mon, 4 Oct 2010 17:24:08 +0000 (17:24 +0000)]
Don't add the operand count to SCEV uniquing data; FoldingSetNodeID
already knows its own length, so this is redundant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115521 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoA few more random Clang release notes.
Daniel Dunbar [Mon, 4 Oct 2010 17:06:49 +0000 (17:06 +0000)]
A few more random Clang release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115520 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agominor tweaks and typos
Gabor Greif [Mon, 4 Oct 2010 17:03:49 +0000 (17:03 +0000)]
minor tweaks and typos

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115518 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix lexical block's tag number.
Devang Patel [Mon, 4 Oct 2010 16:51:59 +0000 (16:51 +0000)]
Fix lexical block's tag number.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115516 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoscheduler update
Chris Lattner [Mon, 4 Oct 2010 16:46:07 +0000 (16:46 +0000)]
scheduler update

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115515 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoanother tweak
Chris Lattner [Mon, 4 Oct 2010 16:06:37 +0000 (16:06 +0000)]
another tweak

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115510 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoInclude the section address in the computation of the relocation.
Rafael Espindola [Mon, 4 Oct 2010 15:59:01 +0000 (15:59 +0000)]
Include the section address in the computation of the relocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115509 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCorrectly compute the relocation when it is not in the first fragment.
Rafael Espindola [Mon, 4 Oct 2010 15:28:43 +0000 (15:28 +0000)]
Correctly compute the relocation when it is not in the first fragment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115506 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agostatic_cast to long, otherwise MSVC 2008 won't compile.
Francois Pichet [Mon, 4 Oct 2010 12:31:20 +0000 (12:31 +0000)]
static_cast to long, otherwise MSVC 2008 won't compile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115503 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemoved the older style (in-allocator) problem construction system from the PBQP...
Lang Hames [Mon, 4 Oct 2010 12:13:07 +0000 (12:13 +0000)]
Removed the older style (in-allocator) problem construction system from the PBQP allocator. Problem construction is now done exclusively with the new builders.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115502 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAda support has moved to dragonegg - I am no longer working on
Duncan Sands [Mon, 4 Oct 2010 10:06:56 +0000 (10:06 +0000)]
Ada support has moved to dragonegg - I am no longer working on
Ada in llvm-gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115501 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a bunch of typos.
Duncan Sands [Mon, 4 Oct 2010 10:04:14 +0000 (10:04 +0000)]
Fix a bunch of typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115500 91177308-0d34-0410-b5e6-96231b3b80d8