oota-llvm.git
15 years agoFix -Asserts warning.
Daniel Dunbar [Tue, 15 Sep 2009 20:31:12 +0000 (20:31 +0000)]
Fix -Asserts warning.

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

15 years agolit: When finding nested test suites, check first in the execpath in case there
Daniel Dunbar [Tue, 15 Sep 2009 20:09:17 +0000 (20:09 +0000)]
lit: When finding nested test suites, check first in the execpath in case there
is a site configuration.

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

15 years agoBetter solution for tracking both the original alignment of the access, and the curre...
Nate Begeman [Tue, 15 Sep 2009 19:05:41 +0000 (19:05 +0000)]
Better solution for tracking both the original alignment of the access, and the current alignment based
on the source value offset.  This avoids increasing the size of mem nodes.

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

15 years agoCorrect comment pasto
Jim Grosbach [Tue, 15 Sep 2009 18:56:13 +0000 (18:56 +0000)]
Correct comment pasto

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

15 years agoAdded a new register class for segment registers
Sean Callanan [Tue, 15 Sep 2009 18:47:29 +0000 (18:47 +0000)]
Added a new register class for segment registers
to the Intel register table.
Added 16- and 64-bit MOVs to and from the segment
registers to the Intel instruction tables.

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

15 years agoChange the marker byte for stubs from 0xcd to 0xce (another form of
Dale Johannesen [Tue, 15 Sep 2009 18:32:14 +0000 (18:32 +0000)]
Change the marker byte for stubs from 0xcd to 0xce (another form of
interrupt instruction, which shouldn't arise any other way).  0xcd is
also used by JITMemoryManager to initialize the buffer to garbage,
which means it could appear following a noreturn call even when
that is not a stub, confusing X86CompilationCallback2.  PR 4929.

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

15 years agofix PR4984 by ensuring that fastisel adds properly sign extended GEP displacement
Chris Lattner [Tue, 15 Sep 2009 18:27:02 +0000 (18:27 +0000)]
fix PR4984 by ensuring that fastisel adds properly sign extended GEP displacement
values to machineinstrs.

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

15 years agorename test
Chris Lattner [Tue, 15 Sep 2009 18:23:37 +0000 (18:23 +0000)]
rename test

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

15 years agoconvert to filecheck
Chris Lattner [Tue, 15 Sep 2009 18:23:23 +0000 (18:23 +0000)]
convert to filecheck

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

15 years agoadd missing file
Chris Lattner [Tue, 15 Sep 2009 18:03:13 +0000 (18:03 +0000)]
add missing file

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

15 years agoHandle AddrMode4 for Thumb2 in rewriteT2FrameIndex. This occurs for
Bob Wilson [Tue, 15 Sep 2009 17:56:18 +0000 (17:56 +0000)]
Handle AddrMode4 for Thumb2 in rewriteT2FrameIndex.  This occurs for
VLDM/VSTM instructions, and without this check, the code assumes that an
offset is allowed, as it would be with VLDR/VSTR.  The asm printer,
however, silently drops the offset, producing incorrect code.  Since the
address register in this case is either the stack or frame pointer, the
spill location ends up conflicting with some other stack slot or with
outgoing arguments on the stack.

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

15 years agoFix superreg use in ARMAsmPrinter. Approved by Anton Korobeynikov.
Sandeep Patel [Tue, 15 Sep 2009 17:53:11 +0000 (17:53 +0000)]
Fix superreg use in ARMAsmPrinter. Approved by Anton Korobeynikov.

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

15 years agoseveral major improvements to the sparc backend: support for weak linkage
Chris Lattner [Tue, 15 Sep 2009 17:46:24 +0000 (17:46 +0000)]
several major improvements to the sparc backend: support for weak linkage
and PIC codegen.  Patch by Venkatraman Govindaraju!

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

15 years agoTeach ValueTracking how to look through GlobalAliases. GlobalAliases are
Dan Gohman [Tue, 15 Sep 2009 16:14:44 +0000 (16:14 +0000)]
Teach ValueTracking how to look through GlobalAliases. GlobalAliases are
not folded in the constant folder because the constant folder doesn't
simplify ConstantExpr operands.

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

15 years agoFix an accidental inversion of the inbounds flag.
Dan Gohman [Tue, 15 Sep 2009 16:00:30 +0000 (16:00 +0000)]
Fix an accidental inversion of the inbounds flag.

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

15 years agoWhen a constant's type is refined, update the constant in place
Dan Gohman [Tue, 15 Sep 2009 15:58:07 +0000 (15:58 +0000)]
When a constant's type is refined, update the constant in place
instead of cloning and RAUWing it.

 - Make AbstractTypeUser a friend of Value so that it can offer
   its subclasses a way to update a Value's type in place. This
   is better than a universally visible setType method on Value,
   and it's sufficient for the immediate need.

 - Eliminate the constant "convert" functions. This eliminates a
   lot of logic duplication, and fixes a complicated bug where a
   constant can't actually be cloned during the type refinement
   process because some of the types that its folder needs are
   half-destroyed, being in the middle of refinement themselves.

 - Move the getValType functions from being static overloaded
   functions in Constants.cpp to be members of class template
   specializations in ConstantsContext.h. This means that the
   code ends up getting instantiated twice, however it also
   makes it possible to eliminate all "convert" functions, so
   it's not a big net code size increase. And if desired, the
   duplicate instantiations could be eliminated with some
   reorganization.

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

15 years agoUse llvm-link -S instead of using llvm-dis.
Dan Gohman [Tue, 15 Sep 2009 15:38:31 +0000 (15:38 +0000)]
Use llvm-link -S instead of using llvm-dis.

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

15 years agoGive llvm-link a -S option.
Dan Gohman [Tue, 15 Sep 2009 15:35:07 +0000 (15:35 +0000)]
Give llvm-link a -S option.

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

15 years agoDon't bother using a PassManager just to print a Module.
Dan Gohman [Tue, 15 Sep 2009 15:33:42 +0000 (15:33 +0000)]
Don't bother using a PassManager just to print a Module.

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

15 years agoRestore a comment that was lost in the merge.
Dan Gohman [Tue, 15 Sep 2009 15:09:54 +0000 (15:09 +0000)]
Restore a comment that was lost in the merge.

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

15 years agoFix apostrophos.
Dan Gohman [Tue, 15 Sep 2009 15:08:33 +0000 (15:08 +0000)]
Fix apostrophos.

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

15 years agoAdd more newlines to make up for the ones removed from the end of instructions.
Nick Lewycky [Tue, 15 Sep 2009 07:08:25 +0000 (07:08 +0000)]
Add more newlines to make up for the ones removed from the end of instructions.

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

15 years agoForgot this.
Evan Cheng [Tue, 15 Sep 2009 07:05:12 +0000 (07:05 +0000)]
Forgot this.

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

15 years agoAnother try at early partial coalescing. Identity phi source copies (their sources...
Evan Cheng [Tue, 15 Sep 2009 06:45:16 +0000 (06:45 +0000)]
Another try at early partial coalescing. Identity phi source copies (their sources are defined by phi join def) are coalesced. And the phi join copy is backward copy propagated into the other copies.

Still miscompiling some tests. :-(

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

15 years agoconvert to filecheck
Chris Lattner [Tue, 15 Sep 2009 06:34:29 +0000 (06:34 +0000)]
convert to filecheck

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

15 years agoForbid arrays of function-type and structures with function-typed fields.
Nick Lewycky [Tue, 15 Sep 2009 06:28:26 +0000 (06:28 +0000)]
Forbid arrays of function-type and structures with function-typed fields.

While I'm there, change code that does:
  SomeTy == Type::getFooType(Context)
into:
  SomeTy->getTypeID() == FooTyID
to decrease the amount of useless type creation which may involve locking, etc.

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

15 years agofix PR4963: folding insertvalue would sometimes turn a packed struct into
Chris Lattner [Tue, 15 Sep 2009 06:28:12 +0000 (06:28 +0000)]
fix PR4963: folding insertvalue would sometimes turn a packed struct into
an unpacked one.

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

15 years agoadd a new CallGraphNode::replaceCallEdge method and use it from
Chris Lattner [Tue, 15 Sep 2009 05:40:35 +0000 (05:40 +0000)]
add a new CallGraphNode::replaceCallEdge method and use it from
argpromote to avoid invalidating an iterator.  This fixes PR4977.
All clang tests now pass with expensive checking (on my system
at least).

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

15 years agoadd newline to debug dump
Chris Lattner [Tue, 15 Sep 2009 05:14:57 +0000 (05:14 +0000)]
add newline to debug dump

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

15 years agomake -debug-pass=Executions show information about what call graph nodes
Chris Lattner [Tue, 15 Sep 2009 05:03:04 +0000 (05:03 +0000)]
make -debug-pass=Executions show information about what call graph nodes
are in the SCC for each execution of a CGSCC pass.

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

15 years agoadd some missing quotes in debug output
Chris Lattner [Tue, 15 Sep 2009 04:45:26 +0000 (04:45 +0000)]
add some missing quotes in debug output

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

15 years agoswitch scciterator to use DenseMap instead of std::map
Chris Lattner [Tue, 15 Sep 2009 04:37:49 +0000 (04:37 +0000)]
switch scciterator to use DenseMap instead of std::map

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

15 years agothis is failing on linux hosts, force a triple.
Chris Lattner [Tue, 15 Sep 2009 04:27:29 +0000 (04:27 +0000)]
this is failing on linux hosts, force a triple.

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

15 years agoRemove invalid add_dependencies line to unbreak the CMake build.
Ted Kremenek [Tue, 15 Sep 2009 04:06:36 +0000 (04:06 +0000)]
Remove invalid add_dependencies line to unbreak the CMake build.

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

15 years agoGet rid of GetProcessId in Win32/Program.inc.
Mikhail Glushenkov [Tue, 15 Sep 2009 03:39:45 +0000 (03:39 +0000)]
Get rid of GetProcessId in Win32/Program.inc.

GetProcessId was introduced only in XP. As a bonus, this change makes Program
objects copyable, since Program is now basically a PID.

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

15 years agomerge one more in.
Chris Lattner [Tue, 15 Sep 2009 02:27:23 +0000 (02:27 +0000)]
merge one more in.

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

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