oota-llvm.git
14 years agosilence a warning, patch by "mike".
Chris Lattner [Sun, 25 Apr 2010 04:44:26 +0000 (04:44 +0000)]
silence a warning, patch by "mike".

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

14 years agoremove #if 1's.
Chris Lattner [Sun, 25 Apr 2010 04:43:02 +0000 (04:43 +0000)]
remove #if 1's.

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

14 years agoFix an autoconf bug: The second argument to AC_LANG_PROGRAM is code that
Dan Gohman [Sun, 25 Apr 2010 00:12:20 +0000 (00:12 +0000)]
Fix an autoconf bug: The second argument to AC_LANG_PROGRAM is code that
gets placed inside a main function, and should not itself be a main
function. This is silently hidden in GCC-hosted builds because the
inner main looks like a nested function declaration, which GCC supports.
In builds with compilers which do not support nested functions (by default),
this was causing an error, which caused these autoconf checks to fail,
leaving their options disabled.

This fixes test/Feature/load_module.ll on x86_64-unknown-linux-gnu
llvm-gcc selfhost builds, among other things.

This also includes a regenerated configure, as the diff is small and telling.

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

14 years agoPHI nodes also do not necessarily return trap with a trap operand.
Dan Gohman [Sat, 24 Apr 2010 22:15:58 +0000 (22:15 +0000)]
PHI nodes also do not necessarily return trap with a trap operand.

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

14 years agoFix typo.
Nick Lewycky [Sat, 24 Apr 2010 22:01:40 +0000 (22:01 +0000)]
Fix typo.

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

14 years agoUse provided llvm-defined variables instead of twisting user-controlled knobs.
Nick Lewycky [Sat, 24 Apr 2010 05:07:24 +0000 (05:07 +0000)]
Use provided llvm-defined variables instead of twisting user-controlled knobs.
No visible change.

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

14 years agoDon't touch CXXFLAGS. If it's set in the environment then sub-makes will see
Nick Lewycky [Sat, 24 Apr 2010 04:56:34 +0000 (04:56 +0000)]
Don't touch CXXFLAGS. If it's set in the environment then sub-makes will see
the variable that we set as though it came from the user. Fixes PR6835.

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

14 years agoAvoid promoting a i16 node if it would eliminate a (store (op (load))) opportunity.
Evan Cheng [Sat, 24 Apr 2010 04:44:57 +0000 (04:44 +0000)]
Avoid promoting a i16 node if it would eliminate a (store (op (load))) opportunity.

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

14 years agoWhen a load operand is promoted to an extload, replace other uses with uses of extloa...
Evan Cheng [Sat, 24 Apr 2010 04:43:44 +0000 (04:43 +0000)]
When a load operand is promoted to an extload, replace other uses with uses of extload result truncated.

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

14 years agoGeneralize LSR's OptimizeMax to handle the new kinds of max expressions
Dan Gohman [Sat, 24 Apr 2010 03:13:44 +0000 (03:13 +0000)]
Generalize LSR's OptimizeMax to handle the new kinds of max expressions
that indvars may use, now that indvars is recognizing le and ge loops.

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

14 years agoScalarEvolution support for <= and >= loops.
Dan Gohman [Sat, 24 Apr 2010 03:09:42 +0000 (03:09 +0000)]
ScalarEvolution support for <= and >= loops.

Also, generalize ScalarEvolutions's min and max recognition to handle
some new forms of min and max that this change makes more common.

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

14 years agoUse SimplifyICmpOperands in isKnownPredicate too.
Dan Gohman [Sat, 24 Apr 2010 01:38:36 +0000 (01:38 +0000)]
Use SimplifyICmpOperands in isKnownPredicate too.

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

14 years agoUpdate isImpliedCond to use the new SimplifyICmpOperands utility.
Dan Gohman [Sat, 24 Apr 2010 01:34:53 +0000 (01:34 +0000)]
Update isImpliedCond to use the new SimplifyICmpOperands utility.

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

14 years agoAdd a new utility function SimplifyICmpOperands. Much of this code is
Dan Gohman [Sat, 24 Apr 2010 01:28:42 +0000 (01:28 +0000)]
Add a new utility function SimplifyICmpOperands. Much of this code is
refactored out of ScalarEvolution::isImpliedCond, which will be updated
to use this new utility routine soon.

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

14 years agoApply a fix for a vector setcc dagcombine from Jan Sjodin. No
Dan Gohman [Sat, 24 Apr 2010 01:17:30 +0000 (01:17 +0000)]
Apply a fix for a vector setcc dagcombine from Jan Sjodin. No
testcase yet, as the testcase now fails downstream.

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

14 years agoFixed edis to tokenize instructions with no
Sean Callanan [Sat, 24 Apr 2010 01:00:16 +0000 (01:00 +0000)]
Fixed edis to tokenize instructions with no
operands correctly.

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

14 years agocross-build Makefile needs to unset CFLAGS/CXXFLAGS when building the build-side...
Jim Grosbach [Sat, 24 Apr 2010 00:46:14 +0000 (00:46 +0000)]
cross-build Makefile needs to unset CFLAGS/CXXFLAGS when building the build-side utilities since the flags will be for the cross-compiler.

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

14 years agono longer xfail
Chris Lattner [Fri, 23 Apr 2010 22:39:33 +0000 (22:39 +0000)]
no longer xfail

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

14 years agoFixes to edis that mark x86 call targets as
Sean Callanan [Fri, 23 Apr 2010 22:17:17 +0000 (22:17 +0000)]
Fixes to edis that mark x86 call targets as
memory operands rather than immediate operands.

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

14 years agoPer Chris, fuse four trivial tests using grep (r102199) into one that uses FileCheck.
Stuart Hastings [Fri, 23 Apr 2010 22:12:57 +0000 (22:12 +0000)]
Per Chris, fuse four trivial tests using grep (r102199) into one that uses FileCheck.

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

14 years agoenable my inliner change: add newly devirtualized call sites to
Chris Lattner [Fri, 23 Apr 2010 21:16:07 +0000 (21:16 +0000)]
enable my inliner change: add newly devirtualized call sites to
the worklist, making them inline candidates.

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

14 years agoChange TargetData's algorithm for computing defualt vector type
Dan Gohman [Fri, 23 Apr 2010 19:41:15 +0000 (19:41 +0000)]
Change TargetData's algorithm for computing defualt vector type
alignment to match what's used in clang and GCC for __alignof, rather
than trying to guess what Legalize is going to be doing.

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

14 years agoCode refactoring.
Evan Cheng [Fri, 23 Apr 2010 19:10:30 +0000 (19:10 +0000)]
Code refactoring.

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

14 years agoAdd some missing x86 patterns for movdq2q. Fixes two (LLVM-)GCC DejaGNU testcases...
Stuart Hastings [Fri, 23 Apr 2010 19:03:32 +0000 (19:03 +0000)]
Add some missing x86 patterns for movdq2q.  Fixes two (LLVM-)GCC DejaGNU testcases.  Radar 6881029.

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

14 years agofix some failures my callgraph dump format change broke.
Chris Lattner [Fri, 23 Apr 2010 18:38:40 +0000 (18:38 +0000)]
fix some failures my callgraph dump format change broke.

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

14 years agoswitch InlineInfo.DevirtualizedCalls's list to be of WeakVH.
Chris Lattner [Fri, 23 Apr 2010 18:37:01 +0000 (18:37 +0000)]
switch InlineInfo.DevirtualizedCalls's list to be of WeakVH.
This fixes a bug where calls inlined into an invoke would get
changed into an invoke but the array would keep pointing to
the (now dead) call.  The improved inliner behavior is still
disabled for now.

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

14 years agotestcase for the bug that required a patch to be reverted.
Chris Lattner [Fri, 23 Apr 2010 18:31:01 +0000 (18:31 +0000)]
testcase for the bug that required a patch to be reverted.

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

14 years agofix callgraph dump to not print 0x0x1234 for nodes.
Chris Lattner [Fri, 23 Apr 2010 18:23:40 +0000 (18:23 +0000)]
fix callgraph dump to not print 0x0x1234 for nodes.
Add the instruction pointer value for debuggability.
We now get dump output that looks like this:

Call graph node for function: 'f1'<<0x1017086b0>>  #uses=1
  CS<0x1017046f8> calls external node

Call graph node for function: '_ZNSt6vectorIdSaIdEEC1EmRKdRKS0_'<<0x1017086f0>>  #uses=1
  CS<0x0> calls external node

Call graph node for function: 'f4'<<0x1017087a0>>  #uses=1
  CS<0x101708c88> calls function 'f3'

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

14 years agoFix X86ISD::CMP i16 to i32 promotion.
Evan Cheng [Fri, 23 Apr 2010 18:21:16 +0000 (18:21 +0000)]
Fix X86ISD::CMP i16 to i32 promotion.

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

14 years agoMove FastISel's HandlePHINodesInSuccessorBlocks call down into FastISel
Dan Gohman [Fri, 23 Apr 2010 15:29:50 +0000 (15:29 +0000)]
Move FastISel's HandlePHINodesInSuccessorBlocks call down into FastISel
itself too.

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

14 years agoSwitch getelementptr inbounds and sdiv exact from undef to trap.
Dan Gohman [Fri, 23 Apr 2010 15:23:32 +0000 (15:23 +0000)]
Switch getelementptr inbounds and sdiv exact from undef to trap.

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

14 years agoFixed EDOperand to use the operand type, not the
Sean Callanan [Fri, 23 Apr 2010 01:56:36 +0000 (01:56 +0000)]
Fixed EDOperand to use the operand type, not the
flags, to determine whether or not the operand is
a memory operand.

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

14 years agoFix LSR to tolerate cases where ScalarEvolution initially
Dan Gohman [Fri, 23 Apr 2010 01:55:05 +0000 (01:55 +0000)]
Fix LSR to tolerate cases where ScalarEvolution initially
misses an opportunity to fold add operands, but folds them
after LSR has separated them out. This fixes rdar://7886751.

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

14 years agoWhen it doesn't matter whether zero or sign extension is used,
Dan Gohman [Fri, 23 Apr 2010 01:51:29 +0000 (01:51 +0000)]
When it doesn't matter whether zero or sign extension is used,
use ScalarEvolutions "any" extend function.

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

14 years agoRevert 102135, 102129, 102127, 102106, 102104, 102102, 102012, 102004,
Dan Gohman [Fri, 23 Apr 2010 01:18:53 +0000 (01:18 +0000)]
Revert 102135, 102129, 102127, 102106, 102104, 102102, 102012, 102004,
because 102004 causes codegen to emit invalid assembly on at least
x86_64-unknown-gnu-linux.

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

14 years agoreject invalid comma stuff with a message. We reject the case in
Chris Lattner [Fri, 23 Apr 2010 00:50:50 +0000 (00:50 +0000)]
reject invalid comma stuff with a message.  We reject the case in
PR6888 with:

$ llvm-as t.ll
llvm-as: t.ll:2:29: error: expected metadata or 'align'
 store <3 x i32> %x, i32 1, i32 1>, <3 x i32>* %p
                            ^

instead of:

$ llvm-as t.ll
llvm-as:

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

14 years agodisable my previous inliner patch, it appears to be busting self-host.
Chris Lattner [Fri, 23 Apr 2010 00:41:03 +0000 (00:41 +0000)]
disable my previous inliner patch, it appears to be busting self-host.

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

14 years agoThe inliner was choosing to not consider call sites
Chris Lattner [Thu, 22 Apr 2010 23:37:35 +0000 (23:37 +0000)]
The inliner was choosing to not consider call sites
that appear in the SCC as a result of inlining as candidates
for inlining.  Change this so that it *does* consider call
sites that change from being indirect to being direct as a
result of inlining.  This allows it to completely
"devirtualize" the testcase.

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

14 years agoUpdate ARM DAGtoDAG for matching UBFX instruction for unsigned bitfield
Jim Grosbach [Thu, 22 Apr 2010 23:24:18 +0000 (23:24 +0000)]
Update ARM DAGtoDAG for matching UBFX instruction for unsigned bitfield
extraction. This fixes PR5998.

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

14 years agoAdd an initial description of a new concept: trap values, and change
Dan Gohman [Thu, 22 Apr 2010 23:14:21 +0000 (23:14 +0000)]
Add an initial description of a new concept: trap values, and change
the definition of the nsw and nuw flags to make use of it.

nsw was introduced to help optimizers answer yes to the following:

  // Can we change i from i32 to i64 to eliminate the cast inside the loop?
  for (int i = 0; i < n; ++i) A[i] *= 0.1;

  // Can we assume that this loop will eventually terminate?
  for (int i = 0; i <= n; ++i) A[i] *= 0.1;

In its current form, it isn't truly sufficient for either.

In the first case, if the increment overflows, it'll still have some
valid i32 value; sign-extending it will produce a value which is 33
homogeneous sign bits trailed by 31 independent undef bits. If i is
promoted to i64, it won't have those same values when it reaches that
point. (The compiler could recover here by reasoning about how i is
used by the load, but that's a lot more complicated and isn't always
possible.)

In the second case, there is no value for i which will be greater than
n, so having the increment return undef on overflow doesn't help.

Trap values are a formalization of some existing concepts that we have
about LLVM IR, and give the optimizers a better basis for answering yes
to both questions above.

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

14 years agorefactor the interface to InlineFunction so that most of the in/out
Chris Lattner [Thu, 22 Apr 2010 23:07:58 +0000 (23:07 +0000)]
refactor the interface to InlineFunction so that most of the in/out
arguments are handled with a new InlineFunctionInfo class.  This
makes it easier to extend InlineFunction to return more info in the
future.

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

14 years agoRemove the test for now.
Devang Patel [Thu, 22 Apr 2010 22:06:28 +0000 (22:06 +0000)]
Remove the test for now.

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

14 years agoadd macruby back
Chris Lattner [Thu, 22 Apr 2010 21:34:16 +0000 (21:34 +0000)]
add macruby back

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

14 years agowhen inlining something like this:
Chris Lattner [Thu, 22 Apr 2010 21:31:00 +0000 (21:31 +0000)]
when inlining something like this:

define void @f3(void (i8*)* %__f) ssp {
entry:
  call void %__f(i8* undef)
  unreachable
}

define void @f4(i8* %this) ssp align 2 {
entry:
  call void @f3(void (i8*)* @f2) ssp
  ret void
}

The inliner is turning the indirect call to %__f into a direct
call to F2.  Make the call graph more precise when this happens.

The inliner doesn't revisit call sites introduced by inlining,
so there isn't an easy way to test for this, but a more precise
callgraph is a good thing.

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

14 years agoAdd comment.
Devang Patel [Thu, 22 Apr 2010 20:56:35 +0000 (20:56 +0000)]
Add comment.

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

14 years agoSink SelectionDAGBuilder's HandlePHINodesInSuccessorBlocks down
Dan Gohman [Thu, 22 Apr 2010 20:55:53 +0000 (20:55 +0000)]
Sink SelectionDAGBuilder's HandlePHINodesInSuccessorBlocks down
into SelectionDAGBuilder itself.

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

14 years agoAdjust debug range offsets for isWeakForLinker() functions.
Devang Patel [Thu, 22 Apr 2010 20:52:00 +0000 (20:52 +0000)]
Adjust debug range offsets for isWeakForLinker() functions.

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

14 years agoAdd a blurb about the new LSR.
Dan Gohman [Thu, 22 Apr 2010 20:50:43 +0000 (20:50 +0000)]
Add a blurb about the new LSR.

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

14 years agoThe -condprop pass has been deleted.
Nick Lewycky [Thu, 22 Apr 2010 20:48:34 +0000 (20:48 +0000)]
The -condprop pass has been deleted.

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

14 years agoThe post-RA scheduler is currently off by default on x86.
Dan Gohman [Thu, 22 Apr 2010 20:47:28 +0000 (20:47 +0000)]
The post-RA scheduler is currently off by default on x86.

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

14 years agoMove HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel
Dan Gohman [Thu, 22 Apr 2010 20:46:50 +0000 (20:46 +0000)]
Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel
and into SelectionDAGBuilder and FastISel.

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

14 years agoAdd some verbiage about Clang to the 2.7 release notes
Douglas Gregor [Thu, 22 Apr 2010 20:42:40 +0000 (20:42 +0000)]
Add some verbiage about Clang to the 2.7 release notes

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

14 years agoadd a DEBUG call so that -debug lists when CGSCCPM iterates.
Chris Lattner [Thu, 22 Apr 2010 20:42:33 +0000 (20:42 +0000)]
add a DEBUG call so that -debug lists when CGSCCPM iterates.

Fix RefreshCallGraph to use CGN->replaceCallEdge instead of hand
rolling its own loop.  replaceCallEdge properly maintains the
reference counts of the nodes, fixing a crash exposed by the
iterative callgraph stuff.

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

14 years agoeliminate dead #include.
Chris Lattner [Thu, 22 Apr 2010 20:41:10 +0000 (20:41 +0000)]
eliminate dead #include.

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

14 years ago- It's not safe to promote rotates (at least not trivially).
Evan Cheng [Thu, 22 Apr 2010 20:19:46 +0000 (20:19 +0000)]
- It's not safe to promote rotates (at least not trivially).
- Some code refactoring.

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

14 years agoFix a comment.
Dan Gohman [Thu, 22 Apr 2010 20:06:42 +0000 (20:06 +0000)]
Fix a comment.

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

14 years agoMove PHINodesToUpdate out of SelectionDAGBuilder and into
Dan Gohman [Thu, 22 Apr 2010 19:55:20 +0000 (19:55 +0000)]
Move PHINodesToUpdate out of SelectionDAGBuilder and into
FunctionLoweringInfo, as it isn't SelectionDAG-specific. This isn't
completely natural, as PHI node state is not per-function but rather
per-basic-block, however there's currently no other convenient
per-basic-block state to group it with.

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

14 years agoRename InsnAfterLabelMap and InsnBeforeLabelMap.
Devang Patel [Thu, 22 Apr 2010 18:43:35 +0000 (18:43 +0000)]
Rename InsnAfterLabelMap and InsnBeforeLabelMap.

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

14 years agoKeep track of MCSymbol used to mark beginning of a function.
Devang Patel [Thu, 22 Apr 2010 18:39:21 +0000 (18:39 +0000)]
Keep track of MCSymbol used to mark beginning of a function.

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

14 years agoAdd mention of ARM atomic builtin support
Jim Grosbach [Thu, 22 Apr 2010 18:33:31 +0000 (18:33 +0000)]
Add mention of ARM atomic builtin support

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

14 years agoAt this point Start and End are not null.
Devang Patel [Thu, 22 Apr 2010 18:28:58 +0000 (18:28 +0000)]
At this point Start and End are not null.

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

14 years agoUpdate ARM frame index scavenging description
Jim Grosbach [Thu, 22 Apr 2010 18:28:43 +0000 (18:28 +0000)]
Update ARM frame index scavenging description

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

14 years agoremove dupe
Chris Lattner [Thu, 22 Apr 2010 18:26:17 +0000 (18:26 +0000)]
remove dupe

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

14 years agoreword my incoherent babble into something that makes sense
Chris Lattner [Thu, 22 Apr 2010 17:39:38 +0000 (17:39 +0000)]
reword my incoherent babble into something that makes sense
from Wesley Peck!

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

14 years agotwo more projects.
Chris Lattner [Thu, 22 Apr 2010 17:28:36 +0000 (17:28 +0000)]
two more projects.

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

14 years agoadd some notes from Matthieu Moy!
Chris Lattner [Thu, 22 Apr 2010 17:25:00 +0000 (17:25 +0000)]
add some notes from Matthieu Moy!

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

14 years agoimprove tblgen doc, pointed out by Zhongxing.
Chris Lattner [Thu, 22 Apr 2010 16:45:27 +0000 (16:45 +0000)]
improve tblgen doc, pointed out by Zhongxing.

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

14 years agoFixing a typo in the "Clang project" section of the release notes.
Wesley Peck [Thu, 22 Apr 2010 14:19:00 +0000 (14:19 +0000)]
Fixing a typo in the "Clang project" section of the release notes.

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

14 years agoSmall fix to the "Other Improvements and New Features" section of the release notes.
Wesley Peck [Thu, 22 Apr 2010 13:53:54 +0000 (13:53 +0000)]
Small fix to the "Other Improvements and New Features" section of the release notes.

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

14 years agoFixing small typos in the "New Useful APIs" section of the release notes.
Wesley Peck [Thu, 22 Apr 2010 13:50:46 +0000 (13:50 +0000)]
Fixing small typos in the "New Useful APIs" section of the release notes.

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

14 years agoFixing small typos in the "ARM Target Improvements" section of the release notes.
Wesley Peck [Thu, 22 Apr 2010 13:43:14 +0000 (13:43 +0000)]
Fixing small typos in the "ARM Target Improvements" section of the release notes.

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

14 years agoRewording the "generated debug information" paragraph in the "Interpreter and JIT...
Wesley Peck [Thu, 22 Apr 2010 13:36:27 +0000 (13:36 +0000)]
Rewording the "generated debug information" paragraph in the "Interpreter and JIT Improvements" section of the release notes.

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

14 years agoReworking the wording of the "target data string" paragraph in the "Optimizer Improvm...
Wesley Peck [Thu, 22 Apr 2010 13:28:34 +0000 (13:28 +0000)]
Reworking the wording of the "target data string" paragraph in the "Optimizer Improvments" section of the release notes.

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

14 years ago<pre> seems to close <p>
Gabor Greif [Thu, 22 Apr 2010 10:25:23 +0000 (10:25 +0000)]
<pre> seems to close <p>

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

14 years agothe validator coughed up some problems, most of them fixed
Gabor Greif [Thu, 22 Apr 2010 10:21:43 +0000 (10:21 +0000)]
the validator coughed up some problems, most of them fixed

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

14 years agoshorten link
Gabor Greif [Thu, 22 Apr 2010 10:11:24 +0000 (10:11 +0000)]
shorten link

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

14 years agostatic analyzer has its own section
Chris Lattner [Thu, 22 Apr 2010 06:39:56 +0000 (06:39 +0000)]
static analyzer has its own section

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

14 years agoadd mc and static analyzer blurbs.
Chris Lattner [Thu, 22 Apr 2010 06:38:11 +0000 (06:38 +0000)]
add mc and static analyzer blurbs.

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

14 years agoanother checkpoint.
Chris Lattner [Thu, 22 Apr 2010 06:28:20 +0000 (06:28 +0000)]
another checkpoint.

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

14 years agovarious updates.
Chris Lattner [Thu, 22 Apr 2010 05:41:35 +0000 (05:41 +0000)]
various updates.

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

14 years agofix file header.
Chris Lattner [Thu, 22 Apr 2010 05:33:15 +0000 (05:33 +0000)]
fix file header.

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

14 years agoDon't attempt to analyze values which are obviously undef. This fixes some
Dan Gohman [Thu, 22 Apr 2010 01:35:11 +0000 (01:35 +0000)]
Don't attempt to analyze values which are obviously undef. This fixes some
assertion failures in extreme cases.

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

14 years agoTidy a comment.
Dan Gohman [Thu, 22 Apr 2010 01:30:05 +0000 (01:30 +0000)]
Tidy a comment.

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

14 years agoRun LiveVariables instead of computing liveness locally in -regalloc=fast.
Jakob Stoklund Olesen [Wed, 21 Apr 2010 23:18:07 +0000 (23:18 +0000)]
Run LiveVariables instead of computing liveness locally in -regalloc=fast.

This actually makes everything slower, but the plan is to have isel add <kill>
flags the way it is already adding <dead> flags. Then LiveVariables can be
removed again.

When ignoring the time spent in LiveVariables, -regalloc=fast is now twice as
fast as -regalloc=local.

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

14 years agoDo not try to optimize a copy that has already been marked for deletion.
Evan Cheng [Wed, 21 Apr 2010 20:57:54 +0000 (20:57 +0000)]
Do not try to optimize a copy that has already been marked for deletion.

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

14 years agoAdd command line option to disable debug info printing in .s file. This option does...
Devang Patel [Wed, 21 Apr 2010 19:08:53 +0000 (19:08 +0000)]
Add command line option to disable debug info printing in .s file. This option does not impact debug info generation and preservation through earlier compile starges.

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

14 years agoFix a performance problem with the new SSAUpdater. This showed up in the
Bob Wilson [Wed, 21 Apr 2010 18:39:03 +0000 (18:39 +0000)]
Fix a performance problem with the new SSAUpdater.  This showed up in the
GCCAS time for MultiSource/Benchmarks/ASCI_Purple/SMG2000.

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

14 years agoModified some assert() msg strings; no other functionality change.
Johnny Chen [Wed, 21 Apr 2010 18:37:48 +0000 (18:37 +0000)]
Modified some assert() msg strings; no other functionality change.

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

14 years agoAdd fast register allocator, enabled with -regalloc=fast.
Jakob Stoklund Olesen [Wed, 21 Apr 2010 18:02:42 +0000 (18:02 +0000)]
Add fast register allocator, enabled with -regalloc=fast.

So far this is just a clone of -regalloc=local that has been lobotomized to run
25% faster. It drops the least-recently-used calculations, and is just plain
stupid when it runs out of registers.

The plan is to make this go even faster for -O0 by taking advantage of the short
live intervals in unoptimized code. It should not be necessary to calculate
liveness when most virtual registers are killed 2-3 instructions after they are
born.

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

14 years agoIdentify when a lexical scope is split in to multiple instruction ranges. Emit such...
Devang Patel [Wed, 21 Apr 2010 16:32:19 +0000 (16:32 +0000)]
Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.

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

14 years agoMake ScalarEvolution::getConstant support pointer types, for consistency
Dan Gohman [Wed, 21 Apr 2010 16:04:04 +0000 (16:04 +0000)]
Make ScalarEvolution::getConstant support pointer types, for consistency
with ScalarEvolution's overall approach to pointer types.

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

14 years agoDragonegg will be released along side llvm-2.7.
Duncan Sands [Wed, 21 Apr 2010 13:51:48 +0000 (13:51 +0000)]
Dragonegg will be released along side llvm-2.7.

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

14 years agofinal hacking for tonight, still more to go.
Chris Lattner [Wed, 21 Apr 2010 06:42:24 +0000 (06:42 +0000)]
final hacking for tonight, still more to go.

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

14 years agocontinue the process of detangling this.
Chris Lattner [Wed, 21 Apr 2010 06:23:40 +0000 (06:23 +0000)]
continue the process of detangling this.

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

14 years agorough pass moving stuff into relevant sections, still much
Chris Lattner [Wed, 21 Apr 2010 05:17:40 +0000 (05:17 +0000)]
rough pass moving stuff into relevant sections, still much
editing to do.

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

14 years agoremove ldc, rubinious, macruby, icedtea, llvm-lua, which
Chris Lattner [Wed, 21 Apr 2010 04:28:21 +0000 (04:28 +0000)]
remove ldc, rubinious, macruby, icedtea, llvm-lua, which
don't have updates for 2.7.

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

14 years agoImplement -disable-non-leaf-fp-elim which disable frame pointer elimination
Evan Cheng [Wed, 21 Apr 2010 03:18:23 +0000 (03:18 +0000)]
Implement -disable-non-leaf-fp-elim which disable frame pointer elimination
optimization for non-leaf functions. This will be hooked up to gcc's
-momit-leaf-frame-pointer option. rdar://7886181

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

14 years agoisel (i32 anyext i16) as insert_subreg when 16-bit ops are being promoted.
Evan Cheng [Wed, 21 Apr 2010 01:47:12 +0000 (01:47 +0000)]
isel (i32 anyext i16) as insert_subreg when 16-bit ops are being promoted.

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

14 years agoTrim include.
Evan Cheng [Wed, 21 Apr 2010 01:39:06 +0000 (01:39 +0000)]
Trim include.

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

14 years agoAdd more const qualifiers on TargetMachine and friends.
Dan Gohman [Wed, 21 Apr 2010 01:34:56 +0000 (01:34 +0000)]
Add more const qualifiers on TargetMachine and friends.

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