oota-llvm.git
14 years agoAdd missed entry to cmake build list file
Anton Korobeynikov [Mon, 15 Feb 2010 22:55:13 +0000 (22:55 +0000)]
Add missed entry to cmake build list file

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

14 years agoUse ttype encoding consistently
Anton Korobeynikov [Mon, 15 Feb 2010 22:38:25 +0000 (22:38 +0000)]
Use ttype encoding consistently

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

14 years agoFix a silly darwin-only typo introduced during merge.
Anton Korobeynikov [Mon, 15 Feb 2010 22:38:10 +0000 (22:38 +0000)]
Fix a silly darwin-only typo introduced during merge.

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

14 years agoMove TLOF implementations to libCodegen to resolve layering violation.
Anton Korobeynikov [Mon, 15 Feb 2010 22:37:53 +0000 (22:37 +0000)]
Move TLOF implementations to libCodegen to resolve layering violation.

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

14 years agoIt turns out that we emitted completely wrong common EH frame since the early beginni...
Anton Korobeynikov [Mon, 15 Feb 2010 22:36:41 +0000 (22:36 +0000)]
It turns out that we emitted completely wrong common EH frame since the early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong.

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

14 years agoAdd suffix for stubs, so we won't have name clashes with private symbols.
Anton Korobeynikov [Mon, 15 Feb 2010 22:36:26 +0000 (22:36 +0000)]
Add suffix for stubs, so we won't have name clashes with private symbols.

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

14 years agoPreliminary patch to improve dwarf EH generation - Hooks to return Personality /...
Anton Korobeynikov [Mon, 15 Feb 2010 22:35:59 +0000 (22:35 +0000)]
Preliminary patch to improve dwarf EH generation - Hooks to return Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there

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

14 years agoTeach the verifier to check the condition on a branch and ensure that it has
Nick Lewycky [Mon, 15 Feb 2010 22:09:09 +0000 (22:09 +0000)]
Teach the verifier to check the condition on a branch and ensure that it has
'i1' type.

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

14 years agoFix PR6300.
Jakob Stoklund Olesen [Mon, 15 Feb 2010 22:03:29 +0000 (22:03 +0000)]
Fix PR6300.

A virtual register can be used before it is defined in the same MBB if the MBB
is part of a loop. Teach the implicit-def pass about this case.

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

14 years agoLast week we were generating code with duplicate induction variables in this
Bob Wilson [Mon, 15 Feb 2010 21:56:40 +0000 (21:56 +0000)]
Last week we were generating code with duplicate induction variables in this
test, but the problem seems to have gone away today.  Add a check to make sure
it doesn't come back.

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

14 years agoFix crash in VerifyType when checking Contexts. Because there may not be a
Nick Lewycky [Mon, 15 Feb 2010 21:52:04 +0000 (21:52 +0000)]
Fix crash in VerifyType when checking Contexts. Because there may not be a
Module (we were called with verifyFunction and an unowned Function) we can't
rely on Mod->getContext().

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

14 years agoDon't try to materialize a function that isn't materializable anyways. This
Nick Lewycky [Mon, 15 Feb 2010 21:27:56 +0000 (21:27 +0000)]
Don't try to materialize a function that isn't materializable anyways. This
fixes a crash using FPM on a Function that isn't owned by a Module.

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

14 years agoA function with no Module owner isn't materializable. This fixes F->dump() for
Nick Lewycky [Mon, 15 Feb 2010 21:27:20 +0000 (21:27 +0000)]
A function with no Module owner isn't materializable.  This fixes F->dump() for
functions not embedded within modules.

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

14 years agoremove empty file.
Chris Lattner [Mon, 15 Feb 2010 21:14:50 +0000 (21:14 +0000)]
remove empty file.

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

14 years agoSimplify.
Daniel Dunbar [Mon, 15 Feb 2010 21:08:22 +0000 (21:08 +0000)]
Simplify.

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

14 years agoRemove c++ style comments from c header.
Bill Wendling [Mon, 15 Feb 2010 20:53:17 +0000 (20:53 +0000)]
Remove c++ style comments from c header.

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

14 years agorevert r96241. It breaks two regression tests, isn't documented,
Chris Lattner [Mon, 15 Feb 2010 20:53:01 +0000 (20:53 +0000)]
revert r96241.  It breaks two regression tests, isn't documented,
and the testcase needs improvement.

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

14 years agoRenumber Instruction enums in llvm-c.
Bill Wendling [Mon, 15 Feb 2010 20:50:51 +0000 (20:50 +0000)]
Renumber Instruction enums in llvm-c.

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

14 years agofix PR6305 by handling BlockAddress in a helper function
Chris Lattner [Mon, 15 Feb 2010 20:47:49 +0000 (20:47 +0000)]
fix PR6305 by handling BlockAddress in a helper function
called by jump threading.

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

14 years agoSplit SelectionDAGISel::IsLegalAndProfitableToFold to
Evan Cheng [Mon, 15 Feb 2010 19:41:07 +0000 (19:41 +0000)]
Split SelectionDAGISel::IsLegalAndProfitableToFold to
IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use.

This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses.

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

14 years agocomment fix.
Chris Lattner [Mon, 15 Feb 2010 18:55:04 +0000 (18:55 +0000)]
comment fix.

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

14 years agoAdd support for emitting non-temporal stores for DAGs marked
David Greene [Mon, 15 Feb 2010 17:02:56 +0000 (17:02 +0000)]
Add support for emitting non-temporal stores for DAGs marked
non-temporal.

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

14 years agoAdd non-temporal flags and remove an assumption of default arguments.
David Greene [Mon, 15 Feb 2010 17:00:31 +0000 (17:00 +0000)]
Add non-temporal flags and remove an assumption of default arguments.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:57:43 +0000 (16:57 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:57:13 +0000 (16:57 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:57:02 +0000 (16:57 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:56:53 +0000 (16:56 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:56:34 +0000 (16:56 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:56:22 +0000 (16:56 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:56:10 +0000 (16:56 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:55:58 +0000 (16:55 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:55:37 +0000 (16:55 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:55:24 +0000 (16:55 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:55:07 +0000 (16:55 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:53:33 +0000 (16:53 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoRemove an assumption of default arguments. This is in anticipation of a
David Greene [Mon, 15 Feb 2010 16:49:52 +0000 (16:49 +0000)]
Remove an assumption of default arguments.  This is in anticipation of a
change to SelectionDAG build APIs.

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

14 years agoAdd non-temporal flags to MachineMemOperand.
David Greene [Mon, 15 Feb 2010 16:48:31 +0000 (16:48 +0000)]
Add non-temporal flags to MachineMemOperand.

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

14 years agoUniformize the names of type predicates: rather than having isFloatTy and
Duncan Sands [Mon, 15 Feb 2010 16:12:20 +0000 (16:12 +0000)]
Uniformize the names of type predicates: rather than having isFloatTy and
isInteger, we now have isFloatTy and isIntegerTy.  Requested by Chris!

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

14 years agoCMake: Fixed syntax in conditional.
Oscar Fuentes [Mon, 15 Feb 2010 15:17:05 +0000 (15:17 +0000)]
CMake: Fixed syntax in conditional.

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

14 years agoFix changes from r75027
Andrew Lenharth [Mon, 15 Feb 2010 15:00:44 +0000 (15:00 +0000)]
Fix changes from r75027

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

14 years agoWhen testing whether a given SCEV depends on a temporary symbolic
Dan Gohman [Mon, 15 Feb 2010 10:28:37 +0000 (10:28 +0000)]
When testing whether a given SCEV depends on a temporary symbolic
name, test whether the SCEV itself is that temporary symbolic name,
in addition to checking whether the symbolic name appears as a
possibly-indirect operand.

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

14 years agoCheck in the first big step of rewriting DAGISelEmitter to
Chris Lattner [Mon, 15 Feb 2010 08:04:42 +0000 (08:04 +0000)]
Check in the first big step of rewriting DAGISelEmitter to
produce a table based matcher instead of gobs of C++ Code.

Though it's not done yet, the shrinkage seems promising,
the table for the X86 ISel is 75K and still has a lot of
optimization to come (compare to the ~1.5M of .o generated
the old way, much of which will go away).

The code is currently disabled by default (the #if 0 in
DAGISelEmitter.cpp).  When enabled it generates a dead
SelectCode2 function in the DAGISel Header which will
eventually replace SelectCode.

There is still a lot of stuff left to do, which are
documented with a trail of FIXMEs.

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

14 years agogive SDValue an operator->, allowing V->isTargetOpcode() and
Chris Lattner [Mon, 15 Feb 2010 07:11:34 +0000 (07:11 +0000)]
give SDValue an operator->, allowing V->isTargetOpcode() and
many other natural things.

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

14 years agodon't make insanely large node numbers for no reason,
Chris Lattner [Mon, 15 Feb 2010 06:39:31 +0000 (06:39 +0000)]
don't make insanely large node numbers for no reason,
packing somewhat densely is better than not.

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

14 years agono need to add the instruction count anymore.
Chris Lattner [Mon, 15 Feb 2010 06:38:41 +0000 (06:38 +0000)]
no need to add the instruction count anymore.

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

14 years agoRevert r96130 ("Forward parameter options as '-option=param'").
Mikhail Glushenkov [Mon, 15 Feb 2010 03:17:06 +0000 (03:17 +0000)]
Revert r96130 ("Forward parameter options as '-option=param'").

This behaviour must be configurable.

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

14 years agoenhance raw_svector_ostream::write_impl to work with unbuffered streams,
Chris Lattner [Mon, 15 Feb 2010 02:18:26 +0000 (02:18 +0000)]
enhance raw_svector_ostream::write_impl to work with unbuffered streams,
which may call write_impl on things that are not the usual buffer.

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

14 years agomake PadToColumn return the stream so you can use:
Chris Lattner [Mon, 15 Feb 2010 02:17:50 +0000 (02:17 +0000)]
make PadToColumn return the stream so you can use:
 OS.PadToColumn(42) << "foo";

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

14 years agoIgnore DBG_VALUE in a couple more places.
Dale Johannesen [Mon, 15 Feb 2010 01:45:47 +0000 (01:45 +0000)]
Ignore DBG_VALUE in a couple more places.

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

14 years agoWhen restoring a saved insert location, check to see if the saved
Dan Gohman [Mon, 15 Feb 2010 00:21:43 +0000 (00:21 +0000)]
When restoring a saved insert location, check to see if the saved
insert location has become an "inserted" instruction since the time
it was saved. If so, advance to the first non-"inserted" instruction.

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

14 years agoconstize
Chris Lattner [Sun, 14 Feb 2010 22:33:49 +0000 (22:33 +0000)]
constize

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

14 years agoclean up a bunch of code, move some random predicates
Chris Lattner [Sun, 14 Feb 2010 22:22:58 +0000 (22:22 +0000)]
clean up a bunch of code, move some random predicates
on TreePatternNode to be methods on TreePatternNode.

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

14 years agomark "addr" as having type "iPTR", eliminating some type comparisons
Chris Lattner [Sun, 14 Feb 2010 21:53:19 +0000 (21:53 +0000)]
mark "addr" as having type "iPTR", eliminating some type comparisons
in hte generated dag isel fil.

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

14 years agoremove the DisablePatternForFastISel predicate, which is a check
Chris Lattner [Sun, 14 Feb 2010 21:11:53 +0000 (21:11 +0000)]
remove the DisablePatternForFastISel predicate, which is a check
that predated -fast-isel which attempted to speed up the dag pattern
matchers at -O0.  Since fast-isel is around, this is basically
obsolete and removing it shrinks the generated dag isels.

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

14 years agoadd an insertion operator.
Chris Lattner [Sun, 14 Feb 2010 21:10:33 +0000 (21:10 +0000)]
add an insertion operator.

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

14 years agotidy up
Chris Lattner [Sun, 14 Feb 2010 21:10:15 +0000 (21:10 +0000)]
tidy up

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

14 years agoFix whitespace.
Dan Gohman [Sun, 14 Feb 2010 18:51:39 +0000 (18:51 +0000)]
Fix whitespace.

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

14 years agoFix a comment.
Dan Gohman [Sun, 14 Feb 2010 18:51:20 +0000 (18:51 +0000)]
Fix a comment.

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

14 years agoWhen complicated expressions are broken down into subexpressions
Dan Gohman [Sun, 14 Feb 2010 18:50:49 +0000 (18:50 +0000)]
When complicated expressions are broken down into subexpressions
with multiplication by constants distributed through, occasionally
those subexpressions can include both x and -x. For now, if this
condition is discovered within LSR, just prune such cases away,
as they won't be profitable. This fixes a "zero allocated in a
base register" assertion failure.

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

14 years agofixes to pagesel/banksel inserter.
Sanjiv Gupta [Sun, 14 Feb 2010 18:27:42 +0000 (18:27 +0000)]
fixes to pagesel/banksel inserter.
1. restore these across direct/indirect calls.
2. restore pagesel for any macros with gotos.

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

14 years agoForgot to commit the header
Anton Korobeynikov [Sun, 14 Feb 2010 18:25:41 +0000 (18:25 +0000)]
Forgot to commit the header

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

14 years agofollow-on to PR6280
Chris Lattner [Sun, 14 Feb 2010 18:20:09 +0000 (18:20 +0000)]
follow-on to PR6280

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

14 years agoDrop winmcasminfo and use normal AT&T COFF for all windows targets.
Anton Korobeynikov [Sun, 14 Feb 2010 15:19:54 +0000 (15:19 +0000)]
Drop winmcasminfo and use normal AT&T COFF for all windows targets.
Otherwise AT&T asm printer is used with non-compatible MCAsmInfo and
there is no way to override this behaviour.

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

14 years agoTry to factorize the specification of saturating add/subtract operations a bit,
Johnny Chen [Sun, 14 Feb 2010 06:32:20 +0000 (06:32 +0000)]
Try to factorize the specification of saturating add/subtract operations a bit,
as suggested by Bob Wilson.

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

14 years agoActually, this code doesn't have to be quite so conservative in
Dan Gohman [Sun, 14 Feb 2010 03:21:49 +0000 (03:21 +0000)]
Actually, this code doesn't have to be quite so conservative in
the no-TLI case. But it should still default to declining the
transformation.

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

14 years agoIn rememberInstruction, if the value being remembered is the
Dan Gohman [Sun, 14 Feb 2010 03:12:47 +0000 (03:12 +0000)]
In rememberInstruction, if the value being remembered is the
current insertion point, advance the current insertion point.
This avoids a use-before-def situation in a testcase extracted
from clang which is difficult to reduce to a reasonable-sized
regression test.

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

14 years agoSimplify this code; no need for a custom subclass if it doesn't need
Dan Gohman [Sun, 14 Feb 2010 02:48:58 +0000 (02:48 +0000)]
Simplify this code; no need for a custom subclass if it doesn't need
to override anything from the parent class.

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

14 years agoRemove a 'protected' keyword, now that SCEVExpander is no longer
Dan Gohman [Sun, 14 Feb 2010 02:47:26 +0000 (02:47 +0000)]
Remove a 'protected' keyword, now that SCEVExpander is no longer
intended to be subclassed.

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

14 years agoDon't attempt aggressive post-inc uses if TargetLowering is not available,
Dan Gohman [Sun, 14 Feb 2010 02:45:21 +0000 (02:45 +0000)]
Don't attempt aggressive post-inc uses if TargetLowering is not available,
because profitability can't be sufficiently approximated.

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

14 years ago2.7: Note that DataTypes.h moved.
Daniel Dunbar [Sun, 14 Feb 2010 01:47:19 +0000 (01:47 +0000)]
2.7: Note that DataTypes.h moved.

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

14 years agoMake LSR not crash if invoked without target lowering info, e.g. if invoked
John McCall [Sat, 13 Feb 2010 23:40:16 +0000 (23:40 +0000)]
Make LSR not crash if invoked without target lowering info, e.g. if invoked
from opt.

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

14 years agoFix a problem where we had bitcasted operands that gave us
Eric Christopher [Sat, 13 Feb 2010 23:38:01 +0000 (23:38 +0000)]
Fix a problem where we had bitcasted operands that gave us
odd offsets since the bitcasted pointer size and the offset pointer
size are going to be different types for the GEP vs base object.

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

14 years agoForward parameter options as '-option=parameter'.
Mikhail Glushenkov [Sat, 13 Feb 2010 22:37:28 +0000 (22:37 +0000)]
Forward parameter options as '-option=parameter'.

Some tools do not like the '-option parameter' form. Should this be
configurable?

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

14 years agoSupport some more Darwin-only options.
Mikhail Glushenkov [Sat, 13 Feb 2010 22:37:13 +0000 (22:37 +0000)]
Support some more Darwin-only options.

We really need a conditional compilation mechanism...

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

14 years agoSupport -mfix-and-continue properly.
Mikhail Glushenkov [Sat, 13 Feb 2010 22:37:00 +0000 (22:37 +0000)]
Support -mfix-and-continue properly.

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

14 years agoRevert r94752, turns out we don't need to touch these options.
Mikhail Glushenkov [Sat, 13 Feb 2010 22:36:43 +0000 (22:36 +0000)]
Revert r94752, turns out we don't need to touch these options.

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

14 years agoTrim trailing spaces (aka, trigger rebuild).
Daniel Dunbar [Sat, 13 Feb 2010 22:23:47 +0000 (22:23 +0000)]
Trim trailing spaces (aka, trigger rebuild).

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

14 years agopull a bunch of huge inline methods in the PatternCodeEmitter
Chris Lattner [Sat, 13 Feb 2010 20:06:50 +0000 (20:06 +0000)]
pull a bunch of huge inline methods in the PatternCodeEmitter
class out of line.

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

14 years agoteach the encoder to handle pseudo instructions like FP_REG_KILL,
Chris Lattner [Sat, 13 Feb 2010 19:16:53 +0000 (19:16 +0000)]
teach the encoder to handle pseudo instructions like FP_REG_KILL,
encoding them into nothing.

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

14 years agoremove dead code.
Chris Lattner [Sat, 13 Feb 2010 19:07:06 +0000 (19:07 +0000)]
remove dead code.

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

14 years agoMCAssembler: Fix pcrel relocations. Oh and,
Daniel Dunbar [Sat, 13 Feb 2010 09:45:59 +0000 (09:45 +0000)]
MCAssembler: Fix pcrel relocations. Oh and,
--
ddunbar@ozzy:tmp$ clang -m32 -integrated-as hello.c && ./a.out
hello world!
--

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

14 years agoMC/Mach-O: Start emitting fixups/relocations for instructions.
Daniel Dunbar [Sat, 13 Feb 2010 09:29:02 +0000 (09:29 +0000)]
MC/Mach-O: Start emitting fixups/relocations for instructions.

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

14 years agoMCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.
Daniel Dunbar [Sat, 13 Feb 2010 09:28:54 +0000 (09:28 +0000)]
MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.

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

14 years agoMCAssembler: Sink fixup list into MCDataFragment.
Daniel Dunbar [Sat, 13 Feb 2010 09:28:43 +0000 (09:28 +0000)]
MCAssembler: Sink fixup list into MCDataFragment.

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

14 years agoMCAssembler: Switch MCFillFragment to only taking constant values. Symbolic expressio...
Daniel Dunbar [Sat, 13 Feb 2010 09:28:32 +0000 (09:28 +0000)]
MCAssembler: Switch MCFillFragment to only taking constant values. Symbolic expressions can always be emitted as data + fixups.

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

14 years agoMC/Mach-O: Implement EmitValue using data fragments + fixups instead of fill fragment.
Daniel Dunbar [Sat, 13 Feb 2010 09:28:22 +0000 (09:28 +0000)]
MC/Mach-O: Implement EmitValue using data fragments + fixups instead of fill fragment.

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

14 years agoMCAssembler: Start applying fixups in the data section.
Daniel Dunbar [Sat, 13 Feb 2010 09:28:15 +0000 (09:28 +0000)]
MCAssembler: Start applying fixups in the data section.

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

14 years agoMCAssembler: Add assorted dump() methods.
Daniel Dunbar [Sat, 13 Feb 2010 09:28:03 +0000 (09:28 +0000)]
MCAssembler: Add assorted dump() methods.

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

14 years agoX86: Move extended MCFixupKinds into X86FixupKinds.h
Daniel Dunbar [Sat, 13 Feb 2010 09:27:52 +0000 (09:27 +0000)]
X86: Move extended MCFixupKinds into X86FixupKinds.h

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

14 years agoSplit some code out to a helper function (FindReusablePredBB)
Chris Lattner [Sat, 13 Feb 2010 05:35:08 +0000 (05:35 +0000)]
Split some code out to a helper function (FindReusablePredBB)
and add a doxygen comment.

Cache the phi entry to avoid doing tons of
PHINode::getBasicBlockIndex calls in the common case.

On my insane testcase from re2c, this speeds up CGP from
617.4s to 7.9s (78x).

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

14 years agoSpeed up codegen prepare from 3.58s to 0.488s.
Chris Lattner [Sat, 13 Feb 2010 05:01:14 +0000 (05:01 +0000)]
Speed up codegen prepare from 3.58s to 0.488s.

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

14 years agoPHINode::getBasicBlockIndex is O(n) in the number of inputs
Chris Lattner [Sat, 13 Feb 2010 04:24:19 +0000 (04:24 +0000)]
PHINode::getBasicBlockIndex is O(n) in the number of inputs
to a PHI, avoid it in the common case where the BB occurs
in the same index for multiple phis.  This speeds up CGP on
an insane testcase from 8.35 to 3.58s.

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

14 years agoiterate over preds using PHI information when available instead of
Chris Lattner [Sat, 13 Feb 2010 04:15:26 +0000 (04:15 +0000)]
iterate over preds using PHI information when available instead of
using pred_begin/end.  It is much faster.

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

14 years agospeed up CGP a bit by scanning predecessors through phi operands
Chris Lattner [Sat, 13 Feb 2010 04:04:42 +0000 (04:04 +0000)]
speed up CGP a bit by scanning predecessors through phi operands
instead of with pred_begin/end.

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

14 years agoadd encoder support and tests for rdtscp
Chris Lattner [Sat, 13 Feb 2010 03:42:24 +0000 (03:42 +0000)]
add encoder support and tests for rdtscp

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

14 years agoAdd SETEND and BXJ instructions for disassembly only.
Johnny Chen [Sat, 13 Feb 2010 02:51:09 +0000 (02:51 +0000)]
Add SETEND and BXJ instructions for disassembly only.

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

14 years agoAdded the rdtscp instruction to the x86 instruction
Sean Callanan [Sat, 13 Feb 2010 02:06:11 +0000 (02:06 +0000)]
Added the rdtscp instruction to the x86 instruction
tables.

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

14 years agoFix PR6283.
Jakob Stoklund Olesen [Sat, 13 Feb 2010 02:06:10 +0000 (02:06 +0000)]
Fix PR6283.

When coalescing with a physreg, remember to add imp-def and imp-kill when
dealing with sub-registers.

Also fix a related bug in VirtRegRewriter where substitutePhysReg may
reallocate the operand list on an instruction and invalidate the reg_iterator.
This can happen when a register is mentioned twice on the same instruction.

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

14 years agoFix a pruning heuristic which implicitly assumed that SmallPtrSet is
Dan Gohman [Sat, 13 Feb 2010 02:06:02 +0000 (02:06 +0000)]
Fix a pruning heuristic which implicitly assumed that SmallPtrSet is
deterministically sorted.

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

14 years agoTeach MachineFrameInfo to track maximum alignment while stack objects are being
Evan Cheng [Sat, 13 Feb 2010 01:56:41 +0000 (01:56 +0000)]
Teach MachineFrameInfo to track maximum alignment while stack objects are being
created. This ensures it's updated at all time. It means targets which perform
dynamic stack alignment would know whether it is required and whether frame
pointer register cannot be made available register allocation.
This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test
case.

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