oota-llvm.git
16 years agoDo use the actual ocaml stdlib (not the install dir) to find the
Gordon Henriksen [Thu, 4 Oct 2007 00:07:50 +0000 (00:07 +0000)]
Do use the actual ocaml stdlib (not the install dir) to find the
caml/*.h headers.

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

16 years agoAdd APFloat -> hexadecimal string conversion, as per %a and %A in C99.
Neil Booth [Wed, 3 Oct 2007 22:26:02 +0000 (22:26 +0000)]
Add APFloat -> hexadecimal string conversion, as per %a and %A in C99.
Useful for diagnostics and debugging.

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

16 years agoCompletely merge the implementation details of DomTree and PostDomTree.
Owen Anderson [Wed, 3 Oct 2007 21:25:45 +0000 (21:25 +0000)]
Completely merge the implementation details of DomTree and PostDomTree.

Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this,

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

16 years agoAdd a GraphTraits partial specialization to make the inverse of an inverse be the...
Owen Anderson [Wed, 3 Oct 2007 21:24:38 +0000 (21:24 +0000)]
Add a GraphTraits partial specialization to make the inverse of an inverse be the same as the underlying graph.

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

16 years agoFix 80 col violation.
Devang Patel [Wed, 3 Oct 2007 21:17:43 +0000 (21:17 +0000)]
Fix 80 col violation.

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

16 years agoRefactor code in a separate method.
Devang Patel [Wed, 3 Oct 2007 21:16:08 +0000 (21:16 +0000)]
Refactor code in a separate method.

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

16 years agoAdd initial iterator support for folding set.
Chris Lattner [Wed, 3 Oct 2007 21:12:09 +0000 (21:12 +0000)]
Add initial iterator support for folding set.

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

16 years agoClarify that shifts that are too large are undefined.
Chris Lattner [Wed, 3 Oct 2007 21:01:14 +0000 (21:01 +0000)]
Clarify that shifts that are too large are undefined.

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

16 years agoSimplify implementation of the FoldingSet circular list, a necessary step
Chris Lattner [Wed, 3 Oct 2007 20:45:43 +0000 (20:45 +0000)]
Simplify implementation of the FoldingSet circular list, a necessary step
to giving it iterators.

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

16 years agoUse empty() member functions when that's what's being tested for instead
Dan Gohman [Wed, 3 Oct 2007 19:26:29 +0000 (19:26 +0000)]
Use empty() member functions when that's what's being tested for instead
of comparing begin() and end().

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

16 years agoFix a using namespace llvm; in a header file.
Dan Gohman [Wed, 3 Oct 2007 19:04:09 +0000 (19:04 +0000)]
Fix a  using namespace llvm;  in a header file.

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

16 years agoTemporarily XFAIL this test.
Bill Wendling [Wed, 3 Oct 2007 17:46:54 +0000 (17:46 +0000)]
Temporarily XFAIL this test.

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

16 years agoTone down an overzealous optimization.
Dale Johannesen [Wed, 3 Oct 2007 17:45:27 +0000 (17:45 +0000)]
Tone down an overzealous optimization.

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

16 years agoremove extraneous tag
Chris Lattner [Wed, 3 Oct 2007 17:34:29 +0000 (17:34 +0000)]
remove extraneous tag

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

16 years agoremove misleading documentation: LLVM has no atomic support yet.
Chris Lattner [Wed, 3 Oct 2007 17:33:51 +0000 (17:33 +0000)]
remove misleading documentation: LLVM has no atomic support yet.

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

16 years agoadd a note
Chris Lattner [Wed, 3 Oct 2007 17:10:03 +0000 (17:10 +0000)]
add a note

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

16 years agoFix PR1719, by not marking llvm.global.annotations internal.
Tanya Lattner [Wed, 3 Oct 2007 17:05:40 +0000 (17:05 +0000)]
Fix PR1719, by not marking llvm.global.annotations internal.

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

16 years agoTweak RoundAwayFromZero the bit number below which is truncated, and make
Neil Booth [Wed, 3 Oct 2007 15:16:41 +0000 (15:16 +0000)]
Tweak RoundAwayFromZero the bit number below which is truncated, and make
it const.

Preparation for APFloat -> hexadecimal string conversion.

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

16 years agoRegenerate.
Gordon Henriksen [Wed, 3 Oct 2007 12:07:14 +0000 (12:07 +0000)]
Regenerate.

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

16 years agoFixing a typo in configure.ac.
Gordon Henriksen [Wed, 3 Oct 2007 12:06:41 +0000 (12:06 +0000)]
Fixing a typo in configure.ac.

Patch by Adam Goode.

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

16 years agoadd a note
Chris Lattner [Wed, 3 Oct 2007 06:10:59 +0000 (06:10 +0000)]
add a note

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

16 years agotestcase for PR1647
Chris Lattner [Wed, 3 Oct 2007 05:29:07 +0000 (05:29 +0000)]
testcase for PR1647

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

16 years agoFix PR1719, by not marking llvm.noinline internal.
Chris Lattner [Wed, 3 Oct 2007 03:59:15 +0000 (03:59 +0000)]
Fix PR1719, by not marking llvm.noinline internal.

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

16 years agoBill's example is still not enough to repro this, but it has other issues that
Chris Lattner [Wed, 3 Oct 2007 03:40:24 +0000 (03:40 +0000)]
Bill's example is still not enough to repro this, but it has other issues that
seem significant as well.

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

16 years agoFactor some code from the DomTree and PostDomTree calculate methods up into
Owen Anderson [Wed, 3 Oct 2007 03:20:17 +0000 (03:20 +0000)]
Factor some code from the DomTree and PostDomTree calculate methods up into
each one's runOnFunction method.

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

16 years agoAnother micro-opt.
Bill Wendling [Tue, 2 Oct 2007 21:49:31 +0000 (21:49 +0000)]
Another micro-opt.

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

16 years agoAnother missed optimization with LICM.
Bill Wendling [Tue, 2 Oct 2007 21:43:06 +0000 (21:43 +0000)]
Another missed optimization with LICM.

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

16 years agoSmall label changes.
Bill Wendling [Tue, 2 Oct 2007 21:02:53 +0000 (21:02 +0000)]
Small label changes.

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

16 years agoNow with source code.
Bill Wendling [Tue, 2 Oct 2007 21:01:16 +0000 (21:01 +0000)]
Now with source code.

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

16 years agoNow with LL code!
Bill Wendling [Tue, 2 Oct 2007 20:54:32 +0000 (20:54 +0000)]
Now with LL code!

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

16 years agoAnother missed optimization.
Bill Wendling [Tue, 2 Oct 2007 20:42:59 +0000 (20:42 +0000)]
Another missed optimization.

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

16 years agoMicro-optimization -- missed LICM opportunity.
Bill Wendling [Tue, 2 Oct 2007 19:55:05 +0000 (19:55 +0000)]
Micro-optimization -- missed LICM opportunity.

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

16 years agoUpdating my credits entry.
Gordon Henriksen [Tue, 2 Oct 2007 18:04:24 +0000 (18:04 +0000)]
Updating my credits entry.

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

16 years agoDocument new sqrt and powi handling.
Dale Johannesen [Tue, 2 Oct 2007 17:47:38 +0000 (17:47 +0000)]
Document new sqrt and powi handling.

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

16 years agoRewrite sqrt and powi to use anyfloat. By popular demand.
Dale Johannesen [Tue, 2 Oct 2007 17:43:59 +0000 (17:43 +0000)]
Rewrite sqrt and powi to use anyfloat.  By popular demand.

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

16 years agoRegenerate.
Gordon Henriksen [Tue, 2 Oct 2007 16:42:22 +0000 (16:42 +0000)]
Regenerate.

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

16 years agoProviding --with-ocaml-libdir for ./configure. The default is the
Gordon Henriksen [Tue, 2 Oct 2007 16:42:10 +0000 (16:42 +0000)]
Providing --with-ocaml-libdir for ./configure. The default is the
stdlib if it's beneath --prefix, and is libdir/ocaml otherwise.

If someone has a better way than this to test whether $B is a path
within $A, I'd love to hear it:

  if test "$A" \< "$B" -a "$B" \< "${A}~"

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

16 years agoRegenerate.
Gordon Henriksen [Tue, 2 Oct 2007 10:14:42 +0000 (10:14 +0000)]
Regenerate.

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

16 years agoFixing (harmless) typos.
Gordon Henriksen [Tue, 2 Oct 2007 10:14:32 +0000 (10:14 +0000)]
Fixing (harmless) typos.

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

16 years agoRegenerate.
Gordon Henriksen [Tue, 2 Oct 2007 09:50:32 +0000 (09:50 +0000)]
Regenerate.

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

16 years agoAdd explicit --enable-bindings option to configure.
Gordon Henriksen [Tue, 2 Oct 2007 09:50:18 +0000 (09:50 +0000)]
Add explicit --enable-bindings option to configure.

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

16 years agoFix test.
Devang Patel [Tue, 2 Oct 2007 00:47:43 +0000 (00:47 +0000)]
Fix test.

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

16 years agoFix typo.
Owen Anderson [Tue, 2 Oct 2007 00:44:20 +0000 (00:44 +0000)]
Fix typo.

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

16 years agoMention memdep in the AA documentation.
Owen Anderson [Tue, 2 Oct 2007 00:43:25 +0000 (00:43 +0000)]
Mention memdep in the AA documentation.

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

16 years agoNew test.
Devang Patel [Tue, 2 Oct 2007 00:39:19 +0000 (00:39 +0000)]
New test.

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

16 years agoIf the user did not check out LLVM and request it to be built, it should be a build...
Tanya Lattner [Tue, 2 Oct 2007 00:19:27 +0000 (00:19 +0000)]
If the user did not check out LLVM and request it to be built, it should be a build error. This relies on the user having a successful build of LLVM, but the tests will fail if they dont.

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

16 years agoRefactor code to add load / store folded instructions -> register only
Evan Cheng [Mon, 1 Oct 2007 23:44:33 +0000 (23:44 +0000)]
Refactor code to add load / store folded instructions -> register only
instructions reverse map.

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

16 years agoFix stride computations for long double arrays.
Dale Johannesen [Mon, 1 Oct 2007 23:08:35 +0000 (23:08 +0000)]
Fix stride computations for long double arrays.

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

16 years agoMove the code that emits the .file directives so that it runs after the
Dan Gohman [Mon, 1 Oct 2007 22:40:20 +0000 (22:40 +0000)]
Move the code that emits the .file directives so that it runs after the
SourceFiles list is fully filled in so that it sees all of the files.

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

16 years ago-pre-RA-sched=none, simple, simple-noitin are gone.
Evan Cheng [Mon, 1 Oct 2007 22:17:20 +0000 (22:17 +0000)]
-pre-RA-sched=none, simple, simple-noitin are gone.

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

16 years agoPR 1603 test case.
Devang Patel [Mon, 1 Oct 2007 21:22:57 +0000 (21:22 +0000)]
PR 1603 test case.

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

16 years agoRemove simple scheduler.
Evan Cheng [Mon, 1 Oct 2007 20:44:07 +0000 (20:44 +0000)]
Remove simple scheduler.

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

16 years agoRelax unsafe use check. If there is one unconditional use inside the loop then it...
Devang Patel [Mon, 1 Oct 2007 18:12:58 +0000 (18:12 +0000)]
Relax unsafe use check. If there is one unconditional use inside the loop then it is safe to promote value even if there is another conditional use inside the loop.

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

16 years agoTypo. X86comi doesn't read / write chain's.
Evan Cheng [Mon, 1 Oct 2007 18:12:48 +0000 (18:12 +0000)]
Typo. X86comi doesn't read / write chain's.

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

16 years agoAdd getABITypeSize, getABITypeSizeInBits
Dale Johannesen [Mon, 1 Oct 2007 16:03:14 +0000 (16:03 +0000)]
Add getABITypeSize, getABITypeSizeInBits

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

16 years agoAdd empty() member functions to a few container-like classes.
Dan Gohman [Mon, 1 Oct 2007 16:01:23 +0000 (16:01 +0000)]
Add empty() member functions to a few container-like classes.

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

16 years agoremove dup comment
Dale Johannesen [Sun, 30 Sep 2007 19:08:12 +0000 (19:08 +0000)]
remove dup comment

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

16 years agoConstant fold int-to-long-double conversions;
Dale Johannesen [Sun, 30 Sep 2007 18:19:03 +0000 (18:19 +0000)]
Constant fold int-to-long-double conversions;
use APFloat for int-to-float/double; use
round-to-nearest for these (implementation-defined,
seems to match gcc).

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

16 years agoSimplify and fix signed int -> FP conversions.
Dale Johannesen [Sun, 30 Sep 2007 18:17:01 +0000 (18:17 +0000)]
Simplify and fix signed int -> FP conversions.

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

16 years agoAsmPrinters overriding getAnalysisUsage should call super.
Gordon Henriksen [Sun, 30 Sep 2007 13:39:29 +0000 (13:39 +0000)]
AsmPrinters overriding getAnalysisUsage should call super.

And not super's super, either.

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

16 years agoAdd a helper useful when mapping from a map element to its hash node.
Chris Lattner [Sun, 30 Sep 2007 08:31:46 +0000 (08:31 +0000)]
Add a helper useful when mapping from a map element to its hash node.

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

16 years agoTemplate-ize more of the DomTree internal implementation details. Only the calculate...
Owen Anderson [Sun, 30 Sep 2007 04:17:16 +0000 (04:17 +0000)]
Template-ize more of the DomTree internal implementation details.  Only the calculate() methods for DomTree and PostDomTree remain to be merged/template-ized.

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

16 years agodocument DenseSet.
Chris Lattner [Sun, 30 Sep 2007 00:58:59 +0000 (00:58 +0000)]
document DenseSet.

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

16 years agoAdd a new DenseSet abstraction.
Chris Lattner [Sun, 30 Sep 2007 00:47:20 +0000 (00:47 +0000)]
Add a new DenseSet abstraction.

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

16 years agoAdd newline at end of file.
Duncan Sands [Sat, 29 Sep 2007 16:38:37 +0000 (16:38 +0000)]
Add newline at end of file.

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

16 years agoCheck that the second parameter of init_trampoline
Duncan Sands [Sat, 29 Sep 2007 16:25:54 +0000 (16:25 +0000)]
Check that the second parameter of init_trampoline
can be resolved to a function.  This is required
for codegen and used by instcombine.

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

16 years agoThis is done already.
Gordon Henriksen [Sat, 29 Sep 2007 02:23:08 +0000 (02:23 +0000)]
This is done already.

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

16 years agoCollector is the base class for garbage collection code generators.
Gordon Henriksen [Sat, 29 Sep 2007 02:13:43 +0000 (02:13 +0000)]
Collector is the base class for garbage collection code generators.
This version enhances the previous patch to add root initialization
as discussed here:

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053455.html

Collector gives its subclasses control over generic algorithms:

  unsigned NeededSafePoints; //< Bitmask of required safe points.
  bool CustomReadBarriers;   //< Default is to insert loads.
  bool CustomWriteBarriers;  //< Default is to insert stores.
  bool CustomRoots;          //< Default is to pass through to backend.
  bool InitRoots;            //< If set, roots are nulled during lowering.

It also has callbacks which collectors can hook:

  /// If any of the actions are set to Custom, this is expected to
  /// be overriden to create a transform to lower those actions to
  /// LLVM IR.
  virtual Pass *createCustomLoweringPass() const;

  /// beginAssembly/finishAssembly - Emit module metadata as
  /// assembly code.
  virtual void beginAssembly(Module &M, std::ostream &OS,
                             AsmPrinter &AP,
                             const TargetAsmInfo &TAI) const;
  virtual void finishAssembly(Module &M,
                              CollectorModuleMetadata &CMM,
                              std::ostream &OS, AsmPrinter &AP,
                              const TargetAsmInfo &TAI) const;

Various other independent algorithms could be implemented, but were
not necessary for the initial two collectors. Some examples are
listed here:

http://llvm.org/docs/GarbageCollection.html#collector-algos

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

16 years agoDemoting CHelpers.h to include/llvm/Support.
Gordon Henriksen [Sat, 29 Sep 2007 01:38:42 +0000 (01:38 +0000)]
Demoting CHelpers.h to include/llvm/Support.

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

16 years agoSwitch to densemap rather than std::set
Daniel Berlin [Sat, 29 Sep 2007 00:50:40 +0000 (00:50 +0000)]
Switch to densemap rather than std::set

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

16 years agoRegenerate.
Gordon Henriksen [Sat, 29 Sep 2007 00:42:56 +0000 (00:42 +0000)]
Regenerate.

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

16 years agoPR1601: etags not configured correctly
Gordon Henriksen [Sat, 29 Sep 2007 00:42:21 +0000 (00:42 +0000)]
PR1601: etags not configured correctly
Resolving this by deleting vestigal etags remnants.

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

16 years agoEnabling new condition code modeling scheme.
Evan Cheng [Sat, 29 Sep 2007 00:00:36 +0000 (00:00 +0000)]
Enabling new condition code modeling scheme.

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

16 years agoDo not ignore packed member size while selecting union type.
Devang Patel [Fri, 28 Sep 2007 23:54:26 +0000 (23:54 +0000)]
Do not ignore packed member size while selecting union type.

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

16 years agoTeach SplitVectorOp how to split INSERT_VECTOR_ELT.
Dan Gohman [Fri, 28 Sep 2007 23:53:40 +0000 (23:53 +0000)]
Teach SplitVectorOp how to split INSERT_VECTOR_ELT.

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

16 years agoUpdate how to release document.
Tanya Lattner [Fri, 28 Sep 2007 22:50:54 +0000 (22:50 +0000)]
Update how to release document.
Add release version to getting started guide.

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

16 years agoIf two instructions are both two-address code, favors (schedule closer to
Evan Cheng [Fri, 28 Sep 2007 22:32:30 +0000 (22:32 +0000)]
If two instructions are both two-address code, favors (schedule closer to
terminator) the one that has a CopyToReg use. This fixes
2006-05-11-InstrSched.ll with -new-cc-modeling-scheme.

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

16 years agoreally fix PR1581, thanks to Daniel Dunbar for pointing
Chris Lattner [Fri, 28 Sep 2007 20:50:50 +0000 (20:50 +0000)]
really fix PR1581, thanks to Daniel Dunbar for pointing
this out.

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

16 years agoMake Value::getNameLen not crash on an empty name, fixing PR1712.
Chris Lattner [Fri, 28 Sep 2007 20:09:40 +0000 (20:09 +0000)]
Make Value::getNameLen not crash on an empty name, fixing PR1712.

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

16 years agoRemove a poor scheduling heuristic.
Evan Cheng [Fri, 28 Sep 2007 19:37:35 +0000 (19:37 +0000)]
Remove a poor scheduling heuristic.

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

16 years agoTrim some unneeded fields.
Evan Cheng [Fri, 28 Sep 2007 19:24:24 +0000 (19:24 +0000)]
Trim some unneeded fields.

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

16 years agoRecord latest work.
Dale Johannesen [Fri, 28 Sep 2007 18:46:28 +0000 (18:46 +0000)]
Record latest work.

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

16 years agoFix long double -> uint64 conversion.
Dale Johannesen [Fri, 28 Sep 2007 18:44:17 +0000 (18:44 +0000)]
Fix long double -> uint64 conversion.

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

16 years agominor long double related changes
Dale Johannesen [Fri, 28 Sep 2007 18:06:58 +0000 (18:06 +0000)]
minor long double related changes

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

16 years agoMake the checks for DW_FORM_data4 consistent with the others, and
Dan Gohman [Fri, 28 Sep 2007 16:50:28 +0000 (16:50 +0000)]
Make the checks for DW_FORM_data4 consistent with the others, and
add more such code for DIEDwarfLabel::SizeOf and DIEObjectLabel::SizeOf.

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

16 years agoUse 32-bit data directives for DW_FORM_data4 format data, even on
Dan Gohman [Fri, 28 Sep 2007 15:43:33 +0000 (15:43 +0000)]
Use 32-bit data directives for DW_FORM_data4 format data, even on
targets with 64-bit addresses.

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

16 years agoRefactor the memcpy lowering for the x86 target.
Rafael Espindola [Fri, 28 Sep 2007 12:53:01 +0000 (12:53 +0000)]
Refactor the memcpy lowering for the x86 target.

The only generated code difference is that now we call memcpy when
the size of the array is unknown. This matches GCC behavior and is
better since the run time value can be arbitrarily large.

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

16 years agoStop inventing new words. :-)
Evan Cheng [Fri, 28 Sep 2007 01:35:02 +0000 (01:35 +0000)]
Stop inventing new words. :-)

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

16 years agoRemove unneeded #include.
Owen Anderson [Fri, 28 Sep 2007 01:25:07 +0000 (01:25 +0000)]
Remove unneeded #include.

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

16 years agoHave PostDomTree use the newly templated DFSPass.
Owen Anderson [Fri, 28 Sep 2007 01:23:47 +0000 (01:23 +0000)]
Have PostDomTree use the newly templated DFSPass.

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

16 years agoPessimisively assume ADJCALLSTACKDOWN / ADJCALLSTACKUP (which becomes sub / add)...
Evan Cheng [Fri, 28 Sep 2007 01:19:48 +0000 (01:19 +0000)]
Pessimisively assume ADJCALLSTACKDOWN / ADJCALLSTACKUP (which becomes sub / add) clobbers EFLAGS.

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

16 years agoAdd sqrt and powi intrinsics for long double.
Dale Johannesen [Fri, 28 Sep 2007 01:08:20 +0000 (01:08 +0000)]
Add sqrt and powi intrinsics for long double.

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

16 years agoDon't do SRA for unions with long double fields.
Dale Johannesen [Fri, 28 Sep 2007 00:21:38 +0000 (00:21 +0000)]
Don't do SRA for unions with long double fields.
Fixes a SWB crash.

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

16 years agoConvert DFSPass into a templated friend function, in preparation for making it common...
Owen Anderson [Thu, 27 Sep 2007 23:23:00 +0000 (23:23 +0000)]
Convert DFSPass into a templated friend function, in preparation for making it common to DomTree and PostDomTree.

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

16 years agoTargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targets
Dan Gohman [Thu, 27 Sep 2007 23:12:31 +0000 (23:12 +0000)]
TargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targets
other than PPC64. Instead of fixing it, just remove it and fix all the
places that use it to use TargetData::getPointerSize() instead, as there
aren't very many. Most of the references were in DwarfWriter.cpp.

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

16 years agoCollectorMetadata abstractly describes stack maps for a function.
Gordon Henriksen [Thu, 27 Sep 2007 22:18:46 +0000 (22:18 +0000)]
CollectorMetadata abstractly describes stack maps for a function.
It includes:

 - location and of each safe point in machine code (identified by a
   label)
 - location of each root within the stack frame (identified by an
   offset), including the metadata tag provided to llvm.gcroot in
   the user program
 - size of the stack frame (for collectors which want to cheat on
   stack crawling :)
 - and eventually will include liveness

It is to be populated by back-ends during code-generation.

CollectorModuleMetadata aggregates this information across the
entire module.

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

16 years agoUse GR64 in 64-bit mode.
Evan Cheng [Thu, 27 Sep 2007 21:50:05 +0000 (21:50 +0000)]
Use GR64 in 64-bit mode.

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

16 years agoMy previous Registry.h header, as well as Collectors.h, which is the
Gordon Henriksen [Thu, 27 Sep 2007 19:34:27 +0000 (19:34 +0000)]
My previous Registry.h header, as well as Collectors.h, which is the
registry for dynamically-loaded garbage collection compiler plugins.

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

16 years agoGarbageCollection.html is expanded to encompass the coming
Gordon Henriksen [Thu, 27 Sep 2007 19:31:36 +0000 (19:31 +0000)]
GarbageCollection.html is expanded to encompass the coming
capabilities. This is a major rewrite and is easier to read en toto
rather than patchwise.

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

16 years agoDoh. Calls clobber EFLAGS.
Evan Cheng [Thu, 27 Sep 2007 19:01:55 +0000 (19:01 +0000)]
Doh. Calls clobber EFLAGS.

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