oota-llvm.git
15 years agomerge some more cmov tests into cmov.ll
Chris Lattner [Tue, 15 Sep 2009 02:25:21 +0000 (02:25 +0000)]
merge some more cmov tests into cmov.ll

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

15 years agomerge two cmov tests into one.
Chris Lattner [Tue, 15 Sep 2009 02:22:47 +0000 (02:22 +0000)]
merge two cmov tests into one.

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

15 years agoDon't pull a load through a callseq_start if the load's chain
Dan Gohman [Tue, 15 Sep 2009 01:22:01 +0000 (01:22 +0000)]
Don't pull a load through a callseq_start if the load's chain
has multiple uses, as one of the other uses may be on a path
to a different node above the callseq_start, because that
leads to a cyclic graph. This problem is exposed when
-combiner-global-alias-analysis is used. This fixes PR4880.

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

15 years agoRemove incorrect CSE code from r81813.
Nate Begeman [Tue, 15 Sep 2009 00:38:09 +0000 (00:38 +0000)]
Remove incorrect CSE code from r81813.

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

15 years agoModified the Intel instruction tables to include
Sean Callanan [Tue, 15 Sep 2009 00:35:17 +0000 (00:35 +0000)]
Modified the Intel instruction tables to include
versions of CALL and JMP with segmented addresses
provided in-line, as pairs of immediates.

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

15 years agoAdded the first bits of the ARM target assembler to llvm-mc. For now it only
Kevin Enderby [Tue, 15 Sep 2009 00:27:25 +0000 (00:27 +0000)]
Added the first bits of the ARM target assembler to llvm-mc.  For now it only
parses the .word directive as 4 bytes and ARMAsmParser::ParseInstruction will
give an error is called.  Broke out the test of the .word directive into two
different test cases, one for x86 and one for arm.

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

15 years agoSubstantially speed up combiner-aa in the following ways:
Nate Begeman [Tue, 15 Sep 2009 00:18:30 +0000 (00:18 +0000)]
Substantially speed up combiner-aa in the following ways:

1. Switch from an std::set to a SmallPtrSet for visited chain nodes.
2. Do not force the recursive flattening of token factor nodes, regardless of
   use count.
3. Immediately process newly created TokenFactor nodes.

Also, improve combiner-aa by teaching it that loads to non-overlapping offsets
of relatively aligned objects cannot alias.

These changes result in a >5x speedup for combiner-aa on most testcases.

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

15 years agoTeach the legalizer to propagate the original alignment of loads and store when
Nate Begeman [Tue, 15 Sep 2009 00:14:28 +0000 (00:14 +0000)]
Teach the legalizer to propagate the original alignment of loads and store when
it splits them.

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

15 years agoOn x86-64, the 32-bit cmov doesn't actually clear the high 32-bit of
Dan Gohman [Tue, 15 Sep 2009 00:14:11 +0000 (00:14 +0000)]
On x86-64, the 32-bit cmov doesn't actually clear the high 32-bit of
its result if the condition is false.

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

15 years agoAdd an "original alignment" field to load and store nodes. This enables the
Nate Begeman [Tue, 15 Sep 2009 00:13:12 +0000 (00:13 +0000)]
Add an "original alignment" field to load and store nodes.  This enables the
DAG Combiner to disambiguate chains for loads and stores of types which are
 broken up by the Legalizer into smaller pieces.

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

15 years agoWhen extending a memset range past the front, set the alignment of the
Dan Gohman [Mon, 14 Sep 2009 23:39:10 +0000 (23:39 +0000)]
When extending a memset range past the front, set the alignment of the
memset region to the alignment of the new start address.

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

15 years agoExpose initializing the native target for the execution engine.
Erick Tryzelaar [Mon, 14 Sep 2009 21:54:32 +0000 (21:54 +0000)]
Expose initializing the native target for the execution engine.

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

15 years agoMake sure to initialize the fpm in the ocaml tutorial.
Erick Tryzelaar [Mon, 14 Sep 2009 21:54:15 +0000 (21:54 +0000)]
Make sure to initialize the fpm in the ocaml tutorial.

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

15 years agoAdd early coalescing to liveintervals. This is work in progress and is known to misco...
Evan Cheng [Mon, 14 Sep 2009 21:33:42 +0000 (21:33 +0000)]
Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this.

The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals.

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

15 years agoPull the creation of the "RewindFunction" function out of the loop. It's only
Bill Wendling [Mon, 14 Sep 2009 20:52:37 +0000 (20:52 +0000)]
Pull the creation of the "RewindFunction" function out of the loop. It's only
created once, so shouldn't be stuck in the middle of the loop. Also early exit
if there are no uses of UnwindInst in the function.

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

15 years agoUpdate a comment to match the source. PseudoSourceValues are now
Dan Gohman [Mon, 14 Sep 2009 20:40:10 +0000 (20:40 +0000)]
Update a comment to match the source. PseudoSourceValues are now
obtained via accessor functions.

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

15 years agotrivial whitespace cleanup
Jim Grosbach [Mon, 14 Sep 2009 17:27:35 +0000 (17:27 +0000)]
trivial whitespace cleanup

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

15 years agoadd PR#
Chris Lattner [Mon, 14 Sep 2009 16:49:26 +0000 (16:49 +0000)]
add PR#

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

15 years agoEnable the jit for llvm-config.
Eric Christopher [Mon, 14 Sep 2009 16:38:49 +0000 (16:38 +0000)]
Enable the jit for llvm-config.

Patch by Xerxes RĂ„nby!

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

15 years agoAdd a valgrind suppressions file for x86_64/linux/4.3.3.
Daniel Dunbar [Mon, 14 Sep 2009 16:10:32 +0000 (16:10 +0000)]
Add a valgrind suppressions file for x86_64/linux/4.3.3.

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

15 years agoAdd a VALGRIND_EXTRA_ARGS makefile variable, with the obvious semantics.
Daniel Dunbar [Mon, 14 Sep 2009 15:27:43 +0000 (15:27 +0000)]
Add a VALGRIND_EXTRA_ARGS makefile variable, with the obvious semantics.

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

15 years agoUpdate CMake dependencies.
Daniel Dunbar [Mon, 14 Sep 2009 05:22:54 +0000 (05:22 +0000)]
Update CMake dependencies.

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

15 years agoUpdate CMake.
Daniel Dunbar [Mon, 14 Sep 2009 05:22:47 +0000 (05:22 +0000)]
Update CMake.

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

15 years agoPIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart.
Chris Lattner [Mon, 14 Sep 2009 03:15:54 +0000 (03:15 +0000)]
PIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart.

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

15 years agoChange MCAsmStreamer to take an MCInstPrinter instead of a
Chris Lattner [Mon, 14 Sep 2009 03:02:37 +0000 (03:02 +0000)]
Change MCAsmStreamer to take an MCInstPrinter instead of a
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.

llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.

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

15 years agoTeach 'make check-lit' to run unittests.
Daniel Dunbar [Mon, 14 Sep 2009 02:39:01 +0000 (02:39 +0000)]
Teach 'make check-lit' to run unittests.

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

15 years agoAttempt to fix some 4.0.0 build warnings.
Daniel Dunbar [Mon, 14 Sep 2009 02:38:53 +0000 (02:38 +0000)]
Attempt to fix some 4.0.0 build warnings.

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

15 years agolit: Give test formats control over test discovery.
Daniel Dunbar [Mon, 14 Sep 2009 02:38:46 +0000 (02:38 +0000)]
lit: Give test formats control over test discovery.

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

15 years agoFix a pair of comment typos.
Nick Lewycky [Mon, 14 Sep 2009 02:25:34 +0000 (02:25 +0000)]
Fix a pair of comment typos.

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

15 years agoFifth time's a charm! Remove ourselves as abstract type listeners once we've
Nick Lewycky [Mon, 14 Sep 2009 02:25:19 +0000 (02:25 +0000)]
Fifth time's a charm! Remove ourselves as abstract type listeners once we've
been told that the type is no longer abstract.

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

15 years agoGive MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinter
Chris Lattner [Mon, 14 Sep 2009 01:49:26 +0000 (01:49 +0000)]
Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinter
be a MCInstPrinter.

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

15 years agoadd a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline.
Chris Lattner [Mon, 14 Sep 2009 01:43:38 +0000 (01:43 +0000)]
add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline.

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

15 years agotidy up a bit.
Chris Lattner [Mon, 14 Sep 2009 01:34:40 +0000 (01:34 +0000)]
tidy up a bit.

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

15 years agoslightly increase prettiness.
Chris Lattner [Mon, 14 Sep 2009 01:27:50 +0000 (01:27 +0000)]
slightly increase prettiness.

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

15 years agoemit the register table as a massive string to avoid relocations.
Chris Lattner [Mon, 14 Sep 2009 01:26:18 +0000 (01:26 +0000)]
emit the register table as a massive string to avoid relocations.

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

15 years agomove StringToOffsetTable out to its own header.
Chris Lattner [Mon, 14 Sep 2009 01:19:16 +0000 (01:19 +0000)]
move StringToOffsetTable out to its own header.

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

15 years agofactor string table generation out to its own class. This changes
Chris Lattner [Mon, 14 Sep 2009 01:16:36 +0000 (01:16 +0000)]
factor string table generation out to its own class.  This changes
the encoding of the AsmStrs table saving a byte or two.

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

15 years agoDon't leak! Always remove oneself as a listener after adding oneself.
Nick Lewycky [Mon, 14 Sep 2009 00:36:52 +0000 (00:36 +0000)]
Don't leak! Always remove oneself as a listener after adding oneself.

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

15 years agoActually remove old types from the set.
Nick Lewycky [Sun, 13 Sep 2009 23:45:39 +0000 (23:45 +0000)]
Actually remove old types from the set.

Also break the type verification stuff into its own TypeSet to keep the
Verifier pass from becoming an AbstractTypeUser.

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

15 years agoeliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table.
Chris Lattner [Sun, 13 Sep 2009 22:45:04 +0000 (22:45 +0000)]
eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table.

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

15 years agokill off the last use of TRI::AsmName.
Chris Lattner [Sun, 13 Sep 2009 22:42:03 +0000 (22:42 +0000)]
kill off the last use of TRI::AsmName.

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

15 years agoadd some special case handling for strangely named x86 registers.
Chris Lattner [Sun, 13 Sep 2009 22:41:48 +0000 (22:41 +0000)]
add some special case handling for strangely named x86 registers.

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

15 years agoBuild (not test) the unittests as part of a normal build.
Daniel Dunbar [Sun, 13 Sep 2009 22:39:27 +0000 (22:39 +0000)]
Build (not test) the unittests as part of a normal build.
 - 'make unittests' still builds and tests.
 - 'make unitcheck' inside a unittest directory runs the tests in that directory.

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

15 years agounbreak this test by working around an asmparser bug.
Chris Lattner [Sun, 13 Sep 2009 22:28:17 +0000 (22:28 +0000)]
unbreak this test by working around an asmparser bug.

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

15 years ago'printMCInst' doesn't print newlines after instructions anymore.
Chris Lattner [Sun, 13 Sep 2009 22:24:34 +0000 (22:24 +0000)]
'printMCInst' doesn't print newlines after instructions anymore.

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

15 years agoCMake: New user-settable variable LLVM_TARGET_ARCH useful when
Oscar Fuentes [Sun, 13 Sep 2009 22:18:38 +0000 (22:18 +0000)]
CMake: New user-settable variable LLVM_TARGET_ARCH useful when
cross-compiling.

Patch by Xerxes RĂ„nby!

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

15 years agoUpdate the tutorial to match changes to examples/Kaleidoscope.
Nick Lewycky [Sun, 13 Sep 2009 21:38:54 +0000 (21:38 +0000)]
Update the tutorial to match changes to examples/Kaleidoscope.

One change I'm not folding in is the removal of two unused variables that
caused warnings, because those were there for expository purposes.

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

15 years agoMove unittest driver to utils/unittest/UnitTestMain.
Daniel Dunbar [Sun, 13 Sep 2009 21:31:21 +0000 (21:31 +0000)]
Move unittest driver to utils/unittest/UnitTestMain.
 - This eliminates a race between building the unittests and linking the
   UnitTestMain library.

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

15 years agoRemove unused variables.
Daniel Dunbar [Sun, 13 Sep 2009 21:31:07 +0000 (21:31 +0000)]
Remove unused variables.

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

15 years agoStoring a set of PATypeHolders is a bad idea because their sort order will
Nick Lewycky [Sun, 13 Sep 2009 21:07:59 +0000 (21:07 +0000)]
Storing a set of PATypeHolders is a bad idea because their sort order will
change as types are refined. Remove abstract types from CheckedTypes when they
we're informed that they have been refined. The only way types get refined in
the verifier is when later function passes start optimizing. Fixes PR4970.

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

15 years agoremove all but one reference to TargetRegisterDesc::AsmName.
Chris Lattner [Sun, 13 Sep 2009 20:31:40 +0000 (20:31 +0000)]
remove all but one reference to TargetRegisterDesc::AsmName.

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

15 years agothe tblgen produced 'getRegisterName' method does not access
Chris Lattner [Sun, 13 Sep 2009 20:19:22 +0000 (20:19 +0000)]
the tblgen produced 'getRegisterName' method does not access
the object, make it static instead of const.

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

15 years agoswitch the x86 asmprinters to use getRegisterName instead
Chris Lattner [Sun, 13 Sep 2009 20:15:16 +0000 (20:15 +0000)]
switch the x86 asmprinters to use getRegisterName instead
of getting it from TRI, inst printing now is codegen context
free!

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

15 years agoFix a small issue with recent changes to this code.
Mikhail Glushenkov [Sun, 13 Sep 2009 20:14:57 +0000 (20:14 +0000)]
Fix a small issue with recent changes to this code.

The 'false.c' file wasn't being used.

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

15 years agomake tblgen produce a function that returns the name for a physreg.
Chris Lattner [Sun, 13 Sep 2009 20:08:00 +0000 (20:08 +0000)]
make tblgen produce a function that returns the name for a physreg.
Nothing is using this info yet.

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

15 years agoeliminate an extraneous use of TRI::getAsmName in a comment.
Chris Lattner [Sun, 13 Sep 2009 19:48:37 +0000 (19:48 +0000)]
eliminate an extraneous use of TRI::getAsmName in a comment.

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

15 years agomake intel asmprinter use TRI::getAsmName instead of TRI::getName like
Chris Lattner [Sun, 13 Sep 2009 19:44:38 +0000 (19:44 +0000)]
make intel asmprinter use TRI::getAsmName instead of TRI::getName like
all the other targets.  Add support for weak/linkonce linkage so it doesn't
crash on basically all nontrivial testcases.

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

15 years agosplit MCInst printing out of the X86ATTInstPrinter
Chris Lattner [Sun, 13 Sep 2009 19:30:11 +0000 (19:30 +0000)]
split MCInst printing out of the X86ATTInstPrinter
class into its own X86ATTInstPrinter class.  The inst
printer now has just one dependence on the code generator
(TRI).

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

15 years agoreduce indentation with early exit.
Chris Lattner [Sun, 13 Sep 2009 19:10:08 +0000 (19:10 +0000)]
reduce indentation with early exit.

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

15 years agosecond part to r81695, I missed a directory.
Chris Lattner [Sun, 13 Sep 2009 19:03:08 +0000 (19:03 +0000)]
second part to r81695, I missed a directory.

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

15 years agoremove MAI::JumpTableSpecialLabelPrefix now that MAI
Chris Lattner [Sun, 13 Sep 2009 19:02:16 +0000 (19:02 +0000)]
remove MAI::JumpTableSpecialLabelPrefix now that MAI
has real information about linker private linkage.

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

15 years agoRevert unittests build changes temporarily, the unit test build isn't -j safe.
Daniel Dunbar [Sun, 13 Sep 2009 18:58:14 +0000 (18:58 +0000)]
Revert unittests build changes temporarily, the unit test build isn't -j safe.

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

15 years agodelete the fixme too! :)
Chris Lattner [Sun, 13 Sep 2009 18:50:22 +0000 (18:50 +0000)]
delete the fixme too! :)

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

15 years agomerge the linux cpool/jtbl pic tests into pic.ll and convert to filecheck.
Chris Lattner [Sun, 13 Sep 2009 18:46:37 +0000 (18:46 +0000)]
merge the linux cpool/jtbl pic tests into pic.ll and convert to filecheck.

Change the picbase symbol on non-darwin systems from ".Lllvm$4.$piclabel" to
".L4$pb".  The actual name doesn't matter and the darwin name is shorter.

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

15 years agoBuild (not test) the unittests as part of a normal build.
Daniel Dunbar [Sun, 13 Sep 2009 18:43:46 +0000 (18:43 +0000)]
Build (not test) the unittests as part of a normal build.
 - 'make unittests' still builds and tests.
 - 'make unitcheck' inside a unittest directory runs the tests in that directory.

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

15 years agomake X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower.
Chris Lattner [Sun, 13 Sep 2009 18:33:59 +0000 (18:33 +0000)]
make X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower.

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

15 years agoreplace printBasicBlockLabel with EmitBasicBlockStart,
Chris Lattner [Sun, 13 Sep 2009 18:25:37 +0000 (18:25 +0000)]
replace printBasicBlockLabel with EmitBasicBlockStart,
now that printBasicBlockLabel is only used for starting
a MBB.  This allows elimination of a bunch of arguments.

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

15 years agofix MCSymbol printing on darwin to exactly match the mangler (handling of \n and...
Chris Lattner [Sun, 13 Sep 2009 18:11:09 +0000 (18:11 +0000)]
fix MCSymbol printing on darwin to exactly match the mangler (handling of \n and " in a symbol name).

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

15 years agoMake the MC symbol printer and llvm::Mangler exactly agree on mangling
Chris Lattner [Sun, 13 Sep 2009 18:04:46 +0000 (18:04 +0000)]
Make the MC symbol printer and llvm::Mangler exactly agree on mangling
for systems that don't support quoting (PR4966).

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

15 years agoremove two docs about the old Sparc backend which used Value*'s for vregs.
Chris Lattner [Sun, 13 Sep 2009 17:25:49 +0000 (17:25 +0000)]
remove two docs about the old Sparc backend which used Value*'s for vregs.

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

15 years agomove old clang readme here.
Chris Lattner [Sun, 13 Sep 2009 17:24:16 +0000 (17:24 +0000)]
move old clang readme here.

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

15 years agoconvert some uses of printBasicBlockLabel to use GetMBBSymbol
Chris Lattner [Sun, 13 Sep 2009 17:14:04 +0000 (17:14 +0000)]
convert some uses of printBasicBlockLabel to use GetMBBSymbol
instead.

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

15 years agoAdd LLVMGCCBINDIR to path, since LLVMC expects to find llvm-gcc in the path.
Daniel Dunbar [Sun, 13 Sep 2009 02:45:57 +0000 (02:45 +0000)]
Add LLVMGCCBINDIR to path, since LLVMC expects to find llvm-gcc in the path.

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

15 years agoSwitch Ocaml to use llvm_supports_binding.
Daniel Dunbar [Sun, 13 Sep 2009 01:41:47 +0000 (01:41 +0000)]
Switch Ocaml to use llvm_supports_binding.

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

15 years agotests: Add llvm_supports_binding predicate.
Daniel Dunbar [Sun, 13 Sep 2009 01:41:18 +0000 (01:41 +0000)]
tests: Add llvm_supports_binding predicate.

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

15 years agotests: Use %abs_tmp instead of ./%t to make these tests portable to 'lit'.
Daniel Dunbar [Sun, 13 Sep 2009 01:40:48 +0000 (01:40 +0000)]
tests: Use %abs_tmp instead of ./%t to make these tests portable to 'lit'.

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

15 years agotests: Add a %abs_tmp substitution which is guaranteed to be a full path.
Daniel Dunbar [Sun, 13 Sep 2009 01:39:50 +0000 (01:39 +0000)]
tests: Add a %abs_tmp substitution which is guaranteed to be a full path.

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

15 years agoSink llvm-gcc dependent tests into distinct subdirs.
Daniel Dunbar [Sun, 13 Sep 2009 01:39:08 +0000 (01:39 +0000)]
Sink llvm-gcc dependent tests into distinct subdirs.

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

15 years agoRewrite tests to not use Tcl substitution.
Daniel Dunbar [Sun, 13 Sep 2009 01:37:07 +0000 (01:37 +0000)]
Rewrite tests to not use Tcl substitution.

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

15 years agoSimplify LLVMC tests.
Daniel Dunbar [Sun, 13 Sep 2009 01:36:19 +0000 (01:36 +0000)]
Simplify LLVMC tests.

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

15 years agoFix merge problem
Anton Korobeynikov [Sun, 13 Sep 2009 01:12:15 +0000 (01:12 +0000)]
Fix merge problem

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

15 years agoDefine proper subreg sets for arm - this should fix bunch of subtle problems
Anton Korobeynikov [Sun, 13 Sep 2009 00:59:43 +0000 (00:59 +0000)]
Define proper subreg sets for arm - this should fix bunch of subtle problems
with subreg - superreg mapping and also fix PR4965.

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

15 years agoAdd -mattr=+sse2 to the -march=x86 version of this test. Without
Dan Gohman [Sat, 12 Sep 2009 23:45:47 +0000 (23:45 +0000)]
Add -mattr=+sse2 to the -march=x86 version of this test. Without
sse, this code falls back to SelectionDAG isel which uses an x87
instruction, which is fine, but not what this test is testing for.

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

15 years agoExperimental fix for PR4960.
Daniel Dunbar [Sat, 12 Sep 2009 23:29:02 +0000 (23:29 +0000)]
Experimental fix for PR4960.
 - Could we just always implement this as __clear_cache for __GNUC__?

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

15 years agodevirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.
Chris Lattner [Sat, 12 Sep 2009 23:02:08 +0000 (23:02 +0000)]
devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.
Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that
we only have one place that decides what to name bb labels.  Hopefully various
clients of printBasicBlockLabel can start using GetMBBSymbol instead.

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

15 years agowe don't want people to override printBasicBlockLabel.
Chris Lattner [Sat, 12 Sep 2009 22:57:37 +0000 (22:57 +0000)]
we don't want people to override printBasicBlockLabel.

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

15 years agoRemove unnecessary #include.
Dan Gohman [Sat, 12 Sep 2009 22:24:25 +0000 (22:24 +0000)]
Remove unnecessary #include.

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

15 years agoAdd QPR_VFP2 regclass and add copy_to_regclass nodes, where needed to
Anton Korobeynikov [Sat, 12 Sep 2009 22:21:08 +0000 (22:21 +0000)]
Add QPR_VFP2 regclass and add copy_to_regclass nodes, where needed to
constraint the register usage.

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

15 years agoPreserve the inbounds flag, so that the constant folder doesn't
Dan Gohman [Sat, 12 Sep 2009 22:02:17 +0000 (22:02 +0000)]
Preserve the inbounds flag, so that the constant folder doesn't
recompute it.

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

15 years agoFix the build when DEBUG_SYMBOL_TABLE is set.
Dan Gohman [Sat, 12 Sep 2009 21:56:48 +0000 (21:56 +0000)]
Fix the build when DEBUG_SYMBOL_TABLE is set.

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

15 years agoConvert llvm-link to IRReader.
Dan Gohman [Sat, 12 Sep 2009 21:55:12 +0000 (21:55 +0000)]
Convert llvm-link to IRReader.

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

15 years agofactor MBB label lowering better
Chris Lattner [Sat, 12 Sep 2009 21:06:08 +0000 (21:06 +0000)]
factor MBB label lowering better

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

15 years agoX86MCInstLower::Lower should only not emit anything to OutStreamer,
Chris Lattner [Sat, 12 Sep 2009 21:01:20 +0000 (21:01 +0000)]
X86MCInstLower::Lower should only not emit anything to OutStreamer,
this means that it can only lower one MachineInstr to one MCInst.  To
make this fly, we need to pull out handling of MO_GOT_ABSOLUTE_ADDRESS
(which generates an implicit label) out of X86MCInstLower.

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

15 years agoeliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for
Chris Lattner [Sat, 12 Sep 2009 20:45:03 +0000 (20:45 +0000)]
eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for
MBB labels like everything else.

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

15 years agosplit MachineInstr -> MCInst lowering into its own class (not
Chris Lattner [Sat, 12 Sep 2009 20:34:57 +0000 (20:34 +0000)]
split MachineInstr -> MCInst lowering into its own class (not
being embedded into X86ATTAsmPrinter).  This still depends heavily
on X86ATTAsmPrinter, but this is a step in the right direction.

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

15 years agoremove the "old" at&t style asmprinter. Unfortunately, most of the
Chris Lattner [Sat, 12 Sep 2009 20:01:36 +0000 (20:01 +0000)]
remove the "old" at&t style asmprinter.  Unfortunately, most of the
operand printing crapola cannot be removed yet because it is used by
the inline asm print stuff.

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

15 years agoWhoops. Committed the headers for r81605 - 'Moved some more index operations over...
Lang Hames [Sat, 12 Sep 2009 04:54:18 +0000 (04:54 +0000)]
Whoops. Committed the headers for r81605 - 'Moved some more index operations over to LiveIntervals.'

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

15 years agoMoved some more index operations over to LiveIntervals.
Lang Hames [Sat, 12 Sep 2009 03:34:03 +0000 (03:34 +0000)]
Moved some more index operations over to LiveIntervals.

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

15 years agoAdded the WAIT instruction to the Intel tables,
Sean Callanan [Sat, 12 Sep 2009 02:52:41 +0000 (02:52 +0000)]
Added the WAIT instruction to the Intel tables,
for the purposes of the disassembler.

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

15 years agoAdded CMPS (string comparison) instructions for all
Sean Callanan [Sat, 12 Sep 2009 02:25:20 +0000 (02:25 +0000)]
Added CMPS (string comparison) instructions for all
operand widths to the Intel instruction tables, for
the purposes of the disassembler.

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