oota-llvm.git
16 years agoBuild the X86GenFastISel.inc file.
Dan Gohman [Thu, 14 Aug 2008 23:18:11 +0000 (23:18 +0000)]
Build the X86GenFastISel.inc file.

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

16 years agoThe pass manager is not able to schedule -loop-deletion -loop-index-split.
Devang Patel [Thu, 14 Aug 2008 23:07:48 +0000 (23:07 +0000)]
The pass manager is not able to schedule -loop-deletion -loop-index-split.

The loop-deletion pass does not preserve dom frontier, which is required by
loop-index-split. When the PM checks dom frontier for loop-index-split, it has
already verified that lcssa is availalble. However, new dom frontier forces new
loop pass manager, which does not  have lcssa yet.

The PM should recheck availability of required analysis passes in such cases.

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

16 years agoTemporarily revert r54792. It's causing an ICE during bootstrapping.
Bill Wendling [Thu, 14 Aug 2008 23:05:24 +0000 (23:05 +0000)]
Temporarily revert r54792. It's causing an ICE during bootstrapping.

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

16 years agoAlso avoid pinsrw and pinsrb with a variable insertelement index.
Dan Gohman [Thu, 14 Aug 2008 22:53:18 +0000 (22:53 +0000)]
Also avoid pinsrw and pinsrb with a variable insertelement index.

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

16 years agoConvert uses of std::vector in TargetInstrInfo to SmallVector. This change had to...
Owen Anderson [Thu, 14 Aug 2008 22:49:33 +0000 (22:49 +0000)]
Convert uses of std::vector in TargetInstrInfo to SmallVector.  This change had to be propoagated down into all the targets and up into all clients of this API.

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

16 years agoDon't try to use the insertps instruction for vector
Dan Gohman [Thu, 14 Aug 2008 22:43:26 +0000 (22:43 +0000)]
Don't try to use the insertps instruction for vector
element inserts with non-constant indices. This fixes
CodeGen/X86/vector-variable-idx.ll on machines that
have SSE4.1.

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

16 years agoMake FastISel's constructor protected, and give it a destructor.
Dan Gohman [Thu, 14 Aug 2008 21:51:29 +0000 (21:51 +0000)]
Make FastISel's constructor protected, and give it a destructor.

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

16 years agoUse DenseMap. Patch by Pratik Solanki.
Devang Patel [Thu, 14 Aug 2008 21:31:10 +0000 (21:31 +0000)]
Use DenseMap. Patch by Pratik Solanki.

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

16 years agoRemoved redundant ctor.
Ted Kremenek [Thu, 14 Aug 2008 21:17:07 +0000 (21:17 +0000)]
Removed redundant ctor.

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

16 years agoRemove more uses of std::set.
Owen Anderson [Thu, 14 Aug 2008 21:01:00 +0000 (21:01 +0000)]
Remove more uses of std::set.

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

16 years agoIf IV is used in a int-to-float cast inside the loop then try to eliminate the cast...
Devang Patel [Thu, 14 Aug 2008 20:58:31 +0000 (20:58 +0000)]
If IV is used in a int-to-float cast inside the loop then try to eliminate the cast opeation.

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

16 years agoHave LeakDetector use a SmallPtrSet instead of an std::set.
Owen Anderson [Thu, 14 Aug 2008 20:40:10 +0000 (20:40 +0000)]
Have LeakDetector use a SmallPtrSet instead of an std::set.

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

16 years agoImprove support for vector casts in LLVM IR and CodeGen.
Dan Gohman [Thu, 14 Aug 2008 20:04:46 +0000 (20:04 +0000)]
Improve support for vector casts in LLVM IR and CodeGen.

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

16 years agoSpeed up addRegisterDead by adding more fast checks before performing the expensive
Owen Anderson [Thu, 14 Aug 2008 18:34:18 +0000 (18:34 +0000)]
Speed up addRegisterDead by adding more fast checks before performing the expensive
subregister query, and by increasing the size of the subregister hashtable so
that there are fewer collisions.

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

16 years agoUse empty() instead of begin() == end().
Dan Gohman [Thu, 14 Aug 2008 18:13:49 +0000 (18:13 +0000)]
Use empty() instead of begin() == end().

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

16 years agoReplace two for loops with while(!X->use_empty()) loops. This prevents
Matthijs Kooijman [Thu, 14 Aug 2008 15:03:05 +0000 (15:03 +0000)]
Replace two for loops with while(!X->use_empty()) loops. This prevents
invalidating the iterator by deleting the current use. This fixes a segfault on
64 bit linux reported in PR2675.

Also remove an unneeded if.

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

16 years agoGet rid of a use of std::map.
Owen Anderson [Wed, 13 Aug 2008 23:36:23 +0000 (23:36 +0000)]
Get rid of a use of std::map.

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

16 years agoFix a bogus srem rule - a negative value srem'd by a power-of-2
Dan Gohman [Wed, 13 Aug 2008 23:12:35 +0000 (23:12 +0000)]
Fix a bogus srem rule - a negative value srem'd by a power-of-2
can have a non-negative result; for example, -16%16 is 0. Also,
clarify the related comments. This fixes PR2670.

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

16 years agoExpunge the last uses of std::map from LiveIntervals.
Owen Anderson [Wed, 13 Aug 2008 22:28:50 +0000 (22:28 +0000)]
Expunge the last uses of std::map from LiveIntervals.

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

16 years agoMove r2iMap_ over to DenseMap from std::map.
Owen Anderson [Wed, 13 Aug 2008 22:08:30 +0000 (22:08 +0000)]
Move r2iMap_ over to DenseMap from std::map.

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

16 years agoAllow SelectionDAG to create EXTRACT_VECTOR_ELT nodes with
Dan Gohman [Wed, 13 Aug 2008 21:51:37 +0000 (21:51 +0000)]
Allow SelectionDAG to create EXTRACT_VECTOR_ELT nodes with
non-constant indices. Only a few of the peephole checks require
a constant index.

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

16 years agoMake the allocation of LiveIntervals explicit, rather than holding them in the r2iMap...
Owen Anderson [Wed, 13 Aug 2008 21:49:13 +0000 (21:49 +0000)]
Make the allocation of LiveIntervals explicit, rather than holding them in the r2iMap_ by value.  This will prevent references to them from being invalidated
if the map is changed.

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

16 years agoSwitch this from std::map to DenseMap.
Owen Anderson [Wed, 13 Aug 2008 21:24:24 +0000 (21:24 +0000)]
Switch this from std::map to DenseMap.

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

16 years agoFix SCCP's handling of struct value loads and stores. SCCP doesn't
Dan Gohman [Wed, 13 Aug 2008 21:22:48 +0000 (21:22 +0000)]
Fix SCCP's handling of struct value loads and stores. SCCP doesn't
track individual leaf values in such cases, so it needs to treat
struct values as normal values in this case.

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

16 years agoAdd svn:ignore on several Release-Asserts directories
Daniel Dunbar [Wed, 13 Aug 2008 20:54:16 +0000 (20:54 +0000)]
Add svn:ignore on several Release-Asserts directories

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

16 years agoAdd default constructor to APSInt
Daniel Dunbar [Wed, 13 Aug 2008 20:53:17 +0000 (20:53 +0000)]
Add default constructor to APSInt
 - Creates uninitialized APInt.
 - Prevents need for embedding arbitrary constants when used as an out
   parameter, for example.

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

16 years agoUpdate makellvm to return correct result code.
Daniel Dunbar [Wed, 13 Aug 2008 20:43:56 +0000 (20:43 +0000)]
Update makellvm to return correct result code.

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

16 years agoRename. s/FindIVForUser/FindIVUserForCond/g
Devang Patel [Wed, 13 Aug 2008 20:31:11 +0000 (20:31 +0000)]
Rename. s/FindIVForUser/FindIVUserForCond/g

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

16 years agoTeach constant folding that an inttoptr of a
Duncan Sands [Wed, 13 Aug 2008 20:20:35 +0000 (20:20 +0000)]
Teach constant folding that an inttoptr of a
ptrtoint can be turned into a bitcast if the
integer is at least as wide as a pointer.

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

16 years agoInitial checkin of the new "fast" instruction selection support. See
Dan Gohman [Wed, 13 Aug 2008 20:19:35 +0000 (20:19 +0000)]
Initial checkin of the new "fast" instruction selection support. See
the comments in FastISelEmitter.cpp for details on what this is.
This is currently experimental and unusable.

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

16 years agoOops, check in these files too, for the FastISel -> Fast rename.
Dan Gohman [Wed, 13 Aug 2008 19:55:00 +0000 (19:55 +0000)]
Oops, check in these files too, for the FastISel -> Fast rename.

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

16 years agoRename SelectionDAGISel's FastISel to Fast, to begin to make
Dan Gohman [Wed, 13 Aug 2008 19:47:40 +0000 (19:47 +0000)]
Rename SelectionDAGISel's FastISel to Fast, to begin to make
room for the new FastISel instruction selection code.

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

16 years agoGenerated files for 54744.
Dale Johannesen [Wed, 13 Aug 2008 18:41:46 +0000 (18:41 +0000)]
Generated files for 54744.

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

16 years agoAdd read/write support for X86's sseregparm.
Dale Johannesen [Wed, 13 Aug 2008 18:40:23 +0000 (18:40 +0000)]
Add read/write support for X86's sseregparm.

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

16 years agoGet rid of unused variable.
Owen Anderson [Wed, 13 Aug 2008 17:44:52 +0000 (17:44 +0000)]
Get rid of unused variable.

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

16 years ago1) Merge entire live intervals instead of parts of them.
Owen Anderson [Wed, 13 Aug 2008 17:25:42 +0000 (17:25 +0000)]
1) Merge entire live intervals instead of parts of them.
2) Conditionalize temporary insertion if we don't need it.

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

16 years agoRename this, in case people think that NullFolder
Duncan Sands [Wed, 13 Aug 2008 08:56:48 +0000 (08:56 +0000)]
Rename this, in case people think that NullFolder
has something to do with folding null values.

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

16 years agoRemoved SELECT_CC custom lowering. This is not needed anymore, the SELECT node
Bruno Cardoso Lopes [Wed, 13 Aug 2008 07:13:40 +0000 (07:13 +0000)]
Removed SELECT_CC custom lowering. This is not needed anymore, the SELECT node
is lowered properly and covers everything LowerSELECT_CC did.
Added method printUnsignedImm in AsmPrinter to print uimm16 operands. This
avoid the ugly instruction by instruction checking in printOperand.
Added a swap instruction present in the allegrex core.
Added two conditional instructions present in the allegrex core : MOVZ and MOVN.
They both allow a more efficient SELECT operation for integers.
Also added SELECT patterns to optimize MOVZ and MOVN usage.
The brcond and setcc patterns were cleaned: redundant and suboptimal patterns
were
removed. The suboptimals were replaced by more efficient ones.
Fixed some instructions that were using immZExt16 instead of immSExt16.

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

16 years agoCheck sign to detect overflow before changing compare stride.
Devang Patel [Wed, 13 Aug 2008 02:05:14 +0000 (02:05 +0000)]
Check sign to detect overflow before changing compare stride.

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

16 years agoWhen resolving a stub in x86-64 JIT, use a PC-relative branch
Dale Johannesen [Tue, 12 Aug 2008 23:20:24 +0000 (23:20 +0000)]
When resolving a stub in x86-64 JIT, use a PC-relative branch
rather than the absolute address if the target is within range.

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

16 years agoRemove tabs.
Bill Wendling [Tue, 12 Aug 2008 23:15:44 +0000 (23:15 +0000)]
Remove tabs.

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

16 years agoUpdate. Remove bogus webpage.
Bill Wendling [Tue, 12 Aug 2008 21:55:54 +0000 (21:55 +0000)]
Update. Remove bogus webpage.

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

16 years agoMake x86-64 JIT changes Darwin-specific.
Dale Johannesen [Tue, 12 Aug 2008 21:02:08 +0000 (21:02 +0000)]
Make x86-64 JIT changes Darwin-specific.

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

16 years agoAdd a NullFolder class that doesn't fold constants.
Duncan Sands [Tue, 12 Aug 2008 20:39:27 +0000 (20:39 +0000)]
Add a NullFolder class that doesn't fold constants.
This may be used as the second IRBuilder template
parameter, the idea being that people learning LLVM
may find it helpful (several people asked on IRC
if it was possible to turn off constant folding
because it made it hard for them to see what was
going on).  Compiles, but otherwise completely
untested.

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

16 years agoExtend ScalarEvolution's executesAtLeastOnce logic to be able to
Dan Gohman [Tue, 12 Aug 2008 20:17:31 +0000 (20:17 +0000)]
Extend ScalarEvolution's executesAtLeastOnce logic to be able to
continue past the first conditional branch when looking for a
relevant test. This helps it avoid using MAX expressions in
loop trip counts in more cases.

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

16 years agoWhitespace cleanup. Test commit.
Jim Grosbach [Tue, 12 Aug 2008 18:34:45 +0000 (18:34 +0000)]
Whitespace cleanup. Test commit.

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

16 years agoIn the absence of a linker to build the GOT, use the 32-bit
Dale Johannesen [Tue, 12 Aug 2008 18:23:48 +0000 (18:23 +0000)]
In the absence of a linker to build the GOT, use the 32-bit
non_lazy_ptr mechanism on x86-64 Darwin JIT.  Fixes a bunch
of last night's failures.

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

16 years agoCorrect the filename in the top-of-file comment.
Dan Gohman [Tue, 12 Aug 2008 17:42:33 +0000 (17:42 +0000)]
Correct the filename in the top-of-file comment.

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

16 years agoAvoid repeatedly reallocating the FoldingSetNodeID when searching
Dan Gohman [Tue, 12 Aug 2008 17:40:22 +0000 (17:40 +0000)]
Avoid repeatedly reallocating the FoldingSetNodeID when searching
through multiple nodes in a bucket.

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

16 years agoUse SmallVector instead of std::vector
Devang Patel [Tue, 12 Aug 2008 15:44:31 +0000 (15:44 +0000)]
Use SmallVector instead of std::vector

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

16 years agoPoint people to ConstantExpr and ConstantFolding,
Duncan Sands [Tue, 12 Aug 2008 09:43:15 +0000 (09:43 +0000)]
Point people to ConstantExpr and ConstantFolding,
in case they get the wrong idea.  Fit in 80 columns.

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

16 years agoUse DenseMap to keep track of last users.
Devang Patel [Tue, 12 Aug 2008 00:26:16 +0000 (00:26 +0000)]
Use DenseMap to keep track of last users.
Use inversed map for faster queries.

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

16 years agoSome fixes for x86-64 JIT. Make it use small code
Dale Johannesen [Mon, 11 Aug 2008 23:46:25 +0000 (23:46 +0000)]
Some fixes for x86-64 JIT.  Make it use small code
model, except for external calls; this makes
addressing modes PC-relative.  Incomplete.

The assertion at the top of Emitter::runOnMachineFunction
was obviously bogus (always true) so I removed it.
If someone knows what the correct test should be to cover
all the various targets, please fix.

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

16 years agoadd a helper method to sys::Path for clang, patch by
Chris Lattner [Mon, 11 Aug 2008 23:39:47 +0000 (23:39 +0000)]
add a helper method to sys::Path for clang, patch by
Kovarththanan Rajaratnam!

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

16 years agoImplement support for simplifying vector comparisons by 0.0 and 1.0 like we
Chris Lattner [Mon, 11 Aug 2008 22:06:05 +0000 (22:06 +0000)]
Implement support for simplifying vector comparisons by 0.0 and 1.0 like we
do for scalars.  Patch contributed by Nicolas Capens

This also generalizes the previous xforms to work on long double, now that
isExactlyValue works for long double.

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

16 years agoKeep track of analysis usage information for passes. Avoid invoking
Devang Patel [Mon, 11 Aug 2008 21:13:39 +0000 (21:13 +0000)]
Keep track of analysis usage information for passes. Avoid invoking
getAnalysisUsage() repeatedly.

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

16 years agoImprove the grep commands for this test to be tolerant of ABI
Dan Gohman [Mon, 11 Aug 2008 20:10:41 +0000 (20:10 +0000)]
Improve the grep commands for this test to be tolerant of ABI
differences, and to be more specific.

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

16 years agoTake the FrameOffset into account when computing the alignment
Dan Gohman [Mon, 11 Aug 2008 18:27:03 +0000 (18:27 +0000)]
Take the FrameOffset into account when computing the alignment
of stack objects. This fixes PR2656.

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

16 years agoImplement ISD::TRAP support on PPC
Nate Begeman [Mon, 11 Aug 2008 17:36:31 +0000 (17:36 +0000)]
Implement ISD::TRAP support on PPC

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

16 years agoMake it possible to use different constant
Duncan Sands [Mon, 11 Aug 2008 15:29:30 +0000 (15:29 +0000)]
Make it possible to use different constant
folding policies with IRBuilder.  The default,
provided by ConstantFolder, is to do minimal
folding like now: what ConstantExpr provides.
An alternative is to use TargetFolder, which
uses target information to fold constants more.

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

16 years agothe stacker doc is way out of date.
Chris Lattner [Mon, 11 Aug 2008 06:13:31 +0000 (06:13 +0000)]
the stacker doc is way out of date.

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

16 years agoremove obsolete files
Chris Lattner [Mon, 11 Aug 2008 06:12:45 +0000 (06:12 +0000)]
remove obsolete files

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

16 years agomove some more stuff out of my email into readme.txt
Chris Lattner [Sun, 10 Aug 2008 01:14:08 +0000 (01:14 +0000)]
move some more stuff out of my email into readme.txt

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

16 years agoadd a note
Chris Lattner [Sun, 10 Aug 2008 00:47:21 +0000 (00:47 +0000)]
add a note

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

16 years ago"This patch adds a virtual call to AbstractLatticeFunction to derive a
Chris Lattner [Sat, 9 Aug 2008 17:23:35 +0000 (17:23 +0000)]
"This patch adds a virtual call to AbstractLatticeFunction to derive a
type lattice value for an Argument*, giving clients the opportunity to
use something other than Top for it if they choose to."

Patch by John McCall!

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

16 years agoUnbreak the llvm-gcc build: recent changes to
Duncan Sands [Sat, 9 Aug 2008 15:14:59 +0000 (15:14 +0000)]
Unbreak the llvm-gcc build: recent changes to
IRBuilder are not expecting null names.

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

16 years agoupdate VS project.
Cedric Venet [Sat, 9 Aug 2008 11:57:39 +0000 (11:57 +0000)]
update VS project.

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

16 years agoMake 'Insert' set the name for Loads, instead of passing the name into the
Chris Lattner [Sat, 9 Aug 2008 06:26:23 +0000 (06:26 +0000)]
Make 'Insert' set the name for Loads, instead of passing the name into the
LoadInst ctor, which causes std::string thrashing.

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

16 years agocomment update
Chris Lattner [Sat, 9 Aug 2008 06:25:46 +0000 (06:25 +0000)]
comment update

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

16 years agoFix some typos. Apparently I think C needs a power-of operator.
Gordon Henriksen [Sat, 9 Aug 2008 03:48:46 +0000 (03:48 +0000)]
Fix some typos. Apparently I think C needs a power-of operator.

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

16 years agoDelete a redundant binding, LLVMHasInitializer.
Gordon Henriksen [Sat, 9 Aug 2008 02:13:58 +0000 (02:13 +0000)]
Delete a redundant binding, LLVMHasInitializer.

Please use !LLVMIsDeclaration instead.

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

16 years ago[PR-2610] Adding Ocaml bindings for Switch::addCase.
Gordon Henriksen [Sat, 9 Aug 2008 01:55:52 +0000 (01:55 +0000)]
[PR-2610] Adding Ocaml bindings for Switch::addCase.

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

16 years agoIgnore output directories.
Gordon Henriksen [Sat, 9 Aug 2008 01:53:27 +0000 (01:53 +0000)]
Ignore output directories.

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

16 years agoFix the LLVMCreateJITCompiler C binding.
Gordon Henriksen [Fri, 8 Aug 2008 20:49:28 +0000 (20:49 +0000)]
Fix the LLVMCreateJITCompiler C binding.

Evan broke it in r54523 by adding a parameter in the implementation without
updating the header correspondingly.

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

16 years agoHave IRBuilder take a template argument on whether or not to preserve
Eric Christopher [Fri, 8 Aug 2008 19:39:37 +0000 (19:39 +0000)]
Have IRBuilder take a template argument on whether or not to preserve
names. This can save a lot of allocations if you aren't going to be
looking at the output.

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

16 years agoCanonicalize nested AddRecs in by nesting them in order of loop depth.
Dan Gohman [Fri, 8 Aug 2008 18:33:12 +0000 (18:33 +0000)]
Canonicalize nested AddRecs in by nesting them in order of loop depth.

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

16 years agoAdd an EXTRACTPSmr pattern to match the pattern that
Dan Gohman [Fri, 8 Aug 2008 18:30:21 +0000 (18:30 +0000)]
Add an EXTRACTPSmr pattern to match the pattern that
X86ISelLowering creates.

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

16 years agoProperly print flags on Sparc
Anton Korobeynikov [Fri, 8 Aug 2008 18:26:10 +0000 (18:26 +0000)]
Properly print flags on Sparc

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

16 years agoGeneralize
Anton Korobeynikov [Fri, 8 Aug 2008 18:25:52 +0000 (18:25 +0000)]
Generalize

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

16 years agoUse mergeable strings sections on sparc
Anton Korobeynikov [Fri, 8 Aug 2008 18:25:29 +0000 (18:25 +0000)]
Use mergeable strings sections on sparc

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

16 years agoHandle visibility printing with all generality. Remove bunch of duplicate code.
Anton Korobeynikov [Fri, 8 Aug 2008 18:25:07 +0000 (18:25 +0000)]
Handle visibility printing with all generality. Remove bunch of duplicate code.

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

16 years agoUse chars, where possible
Anton Korobeynikov [Fri, 8 Aug 2008 18:24:10 +0000 (18:24 +0000)]
Use chars, where possible

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

16 years agoConvert PPC/Linux to new section printing stuff
Anton Korobeynikov [Fri, 8 Aug 2008 18:23:49 +0000 (18:23 +0000)]
Convert PPC/Linux to new section printing stuff

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

16 years agoSwitch PPC/Darwin to new section handling stuff
Anton Korobeynikov [Fri, 8 Aug 2008 18:23:25 +0000 (18:23 +0000)]
Switch PPC/Darwin to new section handling stuff

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

16 years agoCleanup
Anton Korobeynikov [Fri, 8 Aug 2008 18:22:59 +0000 (18:22 +0000)]
Cleanup

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

16 years agoReduce the entries in a phi before testing it for deadness, because removing the...
Owen Anderson [Fri, 8 Aug 2008 18:00:05 +0000 (18:00 +0000)]
Reduce the entries in a phi before testing it for deadness, because removing the entries might make it dead.

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

16 years agoUndo most of r54519.
Evan Cheng [Fri, 8 Aug 2008 17:56:50 +0000 (17:56 +0000)]
Undo most of r54519.

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

16 years agoDon't call getAnalysisUsage unless -debug-pass is enabled. This speeds
Chris Lattner [Fri, 8 Aug 2008 15:14:09 +0000 (15:14 +0000)]
Don't call getAnalysisUsage unless -debug-pass is enabled.  This speeds
up the passmgr by avoiding useless work.

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

16 years agoAdd -fast command line option to lli. It enables fast codegen path.
Evan Cheng [Fri, 8 Aug 2008 08:12:06 +0000 (08:12 +0000)]
Add -fast command line option to lli. It enables fast codegen path.

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

16 years agoAdd new parameter Fast to createJIT to enable the fast codegen path.
Evan Cheng [Fri, 8 Aug 2008 08:11:34 +0000 (08:11 +0000)]
Add new parameter Fast to createJIT to enable the fast codegen path.

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

16 years agoAdd skeleton of simple basic block instruction selector.
Evan Cheng [Fri, 8 Aug 2008 07:27:28 +0000 (07:27 +0000)]
Add skeleton of simple basic block instruction selector.

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

16 years agoTestcase for r54520.
Nick Lewycky [Fri, 8 Aug 2008 07:00:26 +0000 (07:00 +0000)]
Testcase for r54520.

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

16 years agoIt's not legal to output a GV in a coalesced section if it's used in an ARM PIC relat...
Evan Cheng [Fri, 8 Aug 2008 06:56:16 +0000 (06:56 +0000)]
It's not legal to output a GV in a coalesced section if it's used in an ARM PIC relative constantpool.

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

16 years agoFix indentation.
Evan Cheng [Fri, 8 Aug 2008 06:43:59 +0000 (06:43 +0000)]
Fix indentation.

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

16 years agoDon't crash printing the asm for a ConstantExpr PtrToInt just because the int
Nick Lewycky [Fri, 8 Aug 2008 06:34:07 +0000 (06:34 +0000)]
Don't crash printing the asm for a ConstantExpr PtrToInt just because the int
is narrower than the pointer. This testcase emits:

  .byte (((17) - 16) & 255)

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

16 years agoSupport added for ctlz intrinsic, test case added.
Bruno Cardoso Lopes [Fri, 8 Aug 2008 06:16:31 +0000 (06:16 +0000)]
Support added for ctlz intrinsic, test case added.

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

16 years agoSpeed up the passmgr by avoiding heap thrashing on vectors.
Chris Lattner [Fri, 8 Aug 2008 05:33:04 +0000 (05:33 +0000)]
Speed up the passmgr by avoiding heap thrashing on vectors.

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

16 years agoMatch raw "psp" triple target, as done by the homebrew toolchain.
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:49:42 +0000 (04:49 +0000)]
Match raw "psp" triple target, as done by the homebrew toolchain.

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

16 years ago[Last] Batch 7 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:12:42 +0000 (04:12 +0000)]
[Last] Batch 7 of Mips CodeGen tests

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

16 years agoBatch 6 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:11:30 +0000 (04:11 +0000)]
Batch 6 of Mips CodeGen tests

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