oota-llvm.git
18 years agoAdded some comments to clarify code around sub TestDirectory
Patrick Jenkins [Mon, 14 Aug 2006 16:07:14 +0000 (16:07 +0000)]
Added some comments to clarify code around sub TestDirectory

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

18 years agoAdd llvm2cpp.
Reid Spencer [Sun, 13 Aug 2006 19:04:57 +0000 (19:04 +0000)]
Add llvm2cpp.

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

18 years ago1. fix bug by ensuring we start at the llvm source root.
Reid Spencer [Sun, 13 Aug 2006 19:03:06 +0000 (19:03 +0000)]
1. fix bug by ensuring we start at the llvm source root.
2. make use of the -code-only option on llvmdo
3. Add some debug print statements to find #1

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

18 years agoCount the documentation. Otherwise we take a 30,000 hit in the LOC on the
Reid Spencer [Sun, 13 Aug 2006 18:59:40 +0000 (18:59 +0000)]
Count the documentation. Otherwise we take a 30,000 hit in the LOC on the
nightly test graph. And, documentation is important.

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

18 years agoUse the new -code-only option to llvmdo so that we only count things that
Reid Spencer [Sun, 13 Aug 2006 18:29:21 +0000 (18:29 +0000)]
Use the new -code-only option to llvmdo so that we only count things that
are considered to be code. This will give a drop in the LOC count on the
nightly testers, but it is more accurate than previous estimates.

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

18 years agoAdd a -code-only option which restricts llvmdo to visiting just those
Reid Spencer [Sun, 13 Aug 2006 18:28:27 +0000 (18:28 +0000)]
Add a -code-only option which restricts llvmdo to visiting just those
files that are considered to be code. Documentation is excluded.

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

18 years agoChanges for LLVM coding standard compliance:
Reid Spencer [Sun, 13 Aug 2006 09:53:02 +0000 (09:53 +0000)]
Changes for LLVM coding standard compliance:
  1. Remove tabs
  2. Wrap to 80 columns
  3. Put spaces between "if" or "elsif" and expression
  4. Put { on same line as if statement.
  5. Make indentation be 2 spaces.
Functionality change:
  Run utils/countloc.sh after the build is done. This is necessary because
  that script now uses llvm-config to find the top src directory.

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

18 years agoEmit .set directives for jump table entries when possible, which reduces
Nate Begeman [Sat, 12 Aug 2006 21:29:52 +0000 (21:29 +0000)]
Emit .set directives for jump table entries when possible, which reduces
the number of relocations in object files, shrinkifying them.

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

18 years agoFix a bug in a recent refactoring that broke a bunch of stuff.
Chris Lattner [Sat, 12 Aug 2006 07:20:05 +0000 (07:20 +0000)]
Fix a bug in a recent refactoring that broke a bunch of stuff.

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

18 years agoFix an obvious bug, noticed by inspection. No current targets trigger this.
Chris Lattner [Sat, 12 Aug 2006 05:41:39 +0000 (05:41 +0000)]
Fix an obvious bug, noticed by inspection.  No current targets trigger this.

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

18 years agoDon't attempt to split subloops out of a loop with a huge number of backedges.
Chris Lattner [Sat, 12 Aug 2006 05:25:00 +0000 (05:25 +0000)]
Don't attempt to split subloops out of a loop with a huge number of backedges.
Not only will this take huge amounts of compile time, the resultant loop nests
won't be useful for optimization.  This reduces loopsimplify time on
Transforms/LoopSimplify/2006-08-11-LoopSimplifyLongTime.ll from ~32s to ~0.4s
with a debug build of llvm on a 2.7Ghz G5.

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

18 years agoNew testcase, this used to take hours to loopsimplify.
Chris Lattner [Sat, 12 Aug 2006 05:23:27 +0000 (05:23 +0000)]
New testcase, this used to take hours to loopsimplify.

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

18 years agoMake Loop::getExitBlocks significantly faster for large loops. Instead of
Chris Lattner [Sat, 12 Aug 2006 05:02:03 +0000 (05:02 +0000)]
Make Loop::getExitBlocks significantly faster for large loops.  Instead of
pounding on Loop::contains (which is O(n) in the size of the loop), use a
sorted vector, which is O(log(N)) for each query.  This speeds up Duraid's
horrible testcase from ~72s to ~31s in a debug build.

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

18 years agoReimplement the loopsimplify code which deletes edges from unreachable
Chris Lattner [Sat, 12 Aug 2006 04:51:20 +0000 (04:51 +0000)]
Reimplement the loopsimplify code which deletes edges from unreachable
blocks that target loop blocks.

Before, the code was run once per loop, and depended on the number of
predecessors each block in the loop had.  Unfortunately, scanning preds can
be really slow when huge numbers of phis exist or when phis with huge numbers
of inputs exist.

Now, the code is run once per function and scans successors instead of preds,
which is far faster.  In addition, the new code is simpler and is goto free,
woo.

This change speeds up a nasty testcase Duraid provided me from taking hours to
taking ~72s with a debug build.  The functionality this implements is already
tested in the testsuite as Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll.

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

18 years agoTrack # nodes in a CSEMap.
Chris Lattner [Sat, 12 Aug 2006 01:07:51 +0000 (01:07 +0000)]
Track # nodes in a CSEMap.

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

18 years agoSwitch to using SuperFastHash instead of adding all elements together. This
Chris Lattner [Sat, 12 Aug 2006 01:07:10 +0000 (01:07 +0000)]
Switch to using SuperFastHash instead of adding all elements together.  This
doesn't significantly improve performance but it helps a small amount.

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

18 years agoLexer.cpp is a generated file both in lib/AsmParser and projects/Stacker
Reid Spencer [Fri, 11 Aug 2006 23:58:58 +0000 (23:58 +0000)]
Lexer.cpp is a generated file both in lib/AsmParser and projects/Stacker
so we remove it from being counted.

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

18 years agoSwitch NodeID to track 32-bit chunks instead of 8-bit chunks, for a 2.5%
Chris Lattner [Fri, 11 Aug 2006 23:55:53 +0000 (23:55 +0000)]
Switch NodeID to track 32-bit chunks instead of 8-bit chunks, for a 2.5%
speedup in isel time.

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

18 years agoremove IncludeFile turds in MathExtras.h, which bloats every .o file that
Chris Lattner [Fri, 11 Aug 2006 23:52:54 +0000 (23:52 +0000)]
remove IncludeFile turds in MathExtras.h, which bloats every .o file that
#includes it.

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

18 years agoWeed out some cruft and add in some missing extensions.
Reid Spencer [Fri, 11 Aug 2006 23:51:05 +0000 (23:51 +0000)]
Weed out some cruft and add in some missing extensions.

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

18 years agoWeed out cruft that should not be counted and add in extensions we
Reid Spencer [Fri, 11 Aug 2006 23:50:27 +0000 (23:50 +0000)]
Weed out cruft that should not be counted and add in extensions we
previously missed.

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

18 years agomove code out of line so that GCC doesn't inline it at -O3
Chris Lattner [Fri, 11 Aug 2006 23:40:23 +0000 (23:40 +0000)]
move code out of line so that GCC doesn't inline it at -O3

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

18 years agoAdded information for the new nightly tester.
Patrick Jenkins [Fri, 11 Aug 2006 23:27:02 +0000 (23:27 +0000)]
Added information for the new nightly tester.

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

18 years agoSplit SmallVector into SmallVector and SmallVectorImpl, which allows us to
Chris Lattner [Fri, 11 Aug 2006 23:19:51 +0000 (23:19 +0000)]
Split SmallVector into SmallVector and SmallVectorImpl, which allows us to
eliminate code duplication due to the 'N' parameter.

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

18 years agoAdded two flags (-submit-server and -submit-script) which allow the user to specify...
Patrick Jenkins [Fri, 11 Aug 2006 23:02:09 +0000 (23:02 +0000)]
Added two flags (-submit-server and -submit-script) which allow the user to specify where the test results are submitted too. If these are not specified they default to the LLVM.org server.

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

18 years agoMake this script not care where it is run from by getting the llvm src
Reid Spencer [Fri, 11 Aug 2006 21:55:31 +0000 (21:55 +0000)]
Make this script not care where it is run from by getting the llvm src
root from the llvm-config script.

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

18 years agoRemove 8 more std::map's.
Chris Lattner [Fri, 11 Aug 2006 21:55:30 +0000 (21:55 +0000)]
Remove 8 more std::map's.

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

18 years agoMake llvmdo and llvmgrep invulnerable to where they are run from by getting
Reid Spencer [Fri, 11 Aug 2006 21:53:27 +0000 (21:53 +0000)]
Make llvmdo and llvmgrep invulnerable to where they are run from by getting
the llvm source root from the llvm-config command. The dependency now is
that the correct llvm-config command is in the path. For most developers
this is the case.

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

18 years agoDon't print double newline for --src-root and --obj-root as it tends to
Reid Spencer [Fri, 11 Aug 2006 21:50:24 +0000 (21:50 +0000)]
Don't print double newline for --src-root and --obj-root as it tends to
confuse shells that might use this output.

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

18 years agoremove old piece of the V9 backend.
Chris Lattner [Fri, 11 Aug 2006 21:11:35 +0000 (21:11 +0000)]
remove old piece of the V9 backend.

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

18 years agoeliminate extraneous blank line
Chris Lattner [Fri, 11 Aug 2006 21:08:16 +0000 (21:08 +0000)]
eliminate extraneous blank line

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

18 years agoMove the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants,
Chris Lattner [Fri, 11 Aug 2006 21:01:22 +0000 (21:01 +0000)]
Move the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants,
RegNodes, and ValueNodes maps into the CSEMap.

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

18 years agoStart moving leaf nodes over to the CSEMap.
Chris Lattner [Fri, 11 Aug 2006 21:00:46 +0000 (21:00 +0000)]
Start moving leaf nodes over to the CSEMap.

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

18 years agoClean up the HTML output. Add a -filedetails option to report the number of
Reid Spencer [Fri, 11 Aug 2006 20:44:17 +0000 (20:44 +0000)]
Clean up the HTML output. Add a -filedetails option to report the number of
lines contributed by each user to each file.

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

18 years agoRemove blank line at end of file, removing test user "foo" from CVS history.
Reid Spencer [Fri, 11 Aug 2006 19:42:11 +0000 (19:42 +0000)]
Remove blank line at end of file, removing test user "foo" from CVS history.

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

18 years agonew method for adding ints
Chris Lattner [Fri, 11 Aug 2006 18:53:44 +0000 (18:53 +0000)]
new method for adding ints

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

18 years agoeliminate the NullaryOps map, use CSEMap instead.
Chris Lattner [Fri, 11 Aug 2006 18:38:11 +0000 (18:38 +0000)]
eliminate the NullaryOps map, use CSEMap instead.

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

18 years agoDrop the -details option, it was broken. If you want to know about a
Reid Spencer [Fri, 11 Aug 2006 18:36:55 +0000 (18:36 +0000)]
Drop the -details option, it was broken. If you want to know about a
particular directory, just pass that directory to the script. Also, clean
up the HTML output, put list of skipped dirs at the end, and make a few
other minor improvements.

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

18 years agoUse SmallVector instead.
Evan Cheng [Fri, 11 Aug 2006 18:33:41 +0000 (18:33 +0000)]
Use SmallVector instead.

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

18 years agochange internal impl of dag combiner so that calls to CombineTo never have to
Chris Lattner [Fri, 11 Aug 2006 17:56:38 +0000 (17:56 +0000)]
change internal impl of dag combiner so that calls to CombineTo never have to
make a temporary vector.

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

18 years agoChange one ReplaceAllUsesWith method to take an array of operands to replaceinstead...
Chris Lattner [Fri, 11 Aug 2006 17:46:44 +0000 (17:46 +0000)]
Change one ReplaceAllUsesWith method to take an array of operands to replaceinstead of a vector of operands.

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

18 years agoChange one ReplaceAllUsesWith method to take an array of operands to replace
Chris Lattner [Fri, 11 Aug 2006 17:46:28 +0000 (17:46 +0000)]
Change one ReplaceAllUsesWith method to take an array of operands to replace
instead of a vector of operands.

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

18 years agoRemove now-dead method.
Chris Lattner [Fri, 11 Aug 2006 17:40:26 +0000 (17:40 +0000)]
Remove now-dead method.

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

18 years agoEliminate use of getNode that takes a vector.
Chris Lattner [Fri, 11 Aug 2006 17:38:39 +0000 (17:38 +0000)]
Eliminate use of getNode that takes a vector.

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

18 years agoremove a (now) unused getNode method.
Chris Lattner [Fri, 11 Aug 2006 17:25:05 +0000 (17:25 +0000)]
remove a (now) unused getNode method.

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

18 years agoelimiante use of getNode that takes vector of operands.
Chris Lattner [Fri, 11 Aug 2006 17:22:35 +0000 (17:22 +0000)]
elimiante use of getNode that takes vector of operands.

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

18 years agoeliminate use of getNode that takes vector of operands.
Chris Lattner [Fri, 11 Aug 2006 17:21:12 +0000 (17:21 +0000)]
eliminate use of getNode that takes vector of operands.

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

18 years agoeliminate use of getNode that takes vector<SDOperand>. Wrap a really long line.
Chris Lattner [Fri, 11 Aug 2006 17:19:54 +0000 (17:19 +0000)]
eliminate use of getNode that takes vector<SDOperand>.  Wrap a really long line.

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

18 years agoConvert vectors to fixed sized arrays and smallvectors. Eliminate use of getNode...
Chris Lattner [Fri, 11 Aug 2006 17:18:05 +0000 (17:18 +0000)]
Convert vectors to fixed sized arrays and smallvectors.  Eliminate use of getNode that takes a vector.

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

18 years agoFix miscompilation of float vector returns. Compile code to this:
Chris Lattner [Fri, 11 Aug 2006 16:47:32 +0000 (16:47 +0000)]
Fix miscompilation of float vector returns.  Compile code to this:

_func:
        vsldoi v2, v3, v2, 12
        vsldoi v2, v2, v2, 4
        blr

instead of:

_func:
        vsldoi v2, v3, v2, 12
        vsldoi v2, v2, v2, 4
***     vor f1, v2, v2
        blr

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

18 years agoNew testcase
Chris Lattner [Fri, 11 Aug 2006 16:46:38 +0000 (16:46 +0000)]
New testcase

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

18 years agoMinor cleanups
Chris Lattner [Fri, 11 Aug 2006 16:37:02 +0000 (16:37 +0000)]
Minor cleanups

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

18 years agoMatch tablegen changes.
Evan Cheng [Fri, 11 Aug 2006 09:08:15 +0000 (09:08 +0000)]
Match tablegen changes.

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

18 years agoCALLSEQ_* produces chain even if that's not needed.
Evan Cheng [Fri, 11 Aug 2006 09:03:33 +0000 (09:03 +0000)]
CALLSEQ_* produces chain even if that's not needed.

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

18 years ago- Prevent some functions from being inlined to eliminate the code size bloat
Evan Cheng [Fri, 11 Aug 2006 08:59:35 +0000 (08:59 +0000)]
- Prevent some functions from being inlined to eliminate the code size bloat
  introduced by previous commit.
- SelectCode now returns a SDNode*. If it is not null, the selected node
  produces the same number of results as the input node. The seletion loop
  is responsible for calling ReplaceAllUsesWith() to replace the input node
  with the output target node. For other cases, e.g. when load is folded,
  the selection code is responsible for calling ReplaceAllUsesOfValueWith()
  and SelectCode returns NULL.
- Other clean ups.

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

18 years agoConvert more calls of getNode() that takes a vector to pass in the start of an array.
Evan Cheng [Fri, 11 Aug 2006 07:35:45 +0000 (07:35 +0000)]
Convert more calls of getNode() that takes a vector to pass in the start of an array.

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

18 years agoFix a typo noticed by Gordon Henriksen. Thanks!
Reid Spencer [Thu, 10 Aug 2006 21:38:47 +0000 (21:38 +0000)]
Fix a typo noticed by Gordon Henriksen. Thanks!

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

18 years agollvm2cpp no longer reads LLVM assembly but LLVM bytecode instead. Adjust
Reid Spencer [Thu, 10 Aug 2006 21:02:25 +0000 (21:02 +0000)]
llvm2cpp no longer reads LLVM assembly but LLVM bytecode instead. Adjust
the documentation to reflect this.

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

18 years agoAdd a cleaned-up version of the IRC conversation that spurred this FAQ.
Reid Spencer [Thu, 10 Aug 2006 21:01:14 +0000 (21:01 +0000)]
Add a cleaned-up version of the IRC conversation that spurred this FAQ.

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

18 years agoAnswer the most frequently asked question, about GEPs. The answer is
Reid Spencer [Thu, 10 Aug 2006 20:15:58 +0000 (20:15 +0000)]
Answer the most frequently asked question, about GEPs. The answer is
sufficiently long that I placed it in a separate file but it links from
the FAQ page. More might need to be added to GetElementPtr.html to
address additional confusion surrounding GEP.

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

18 years agoDoxygenify some methods.
Chris Lattner [Thu, 10 Aug 2006 06:00:40 +0000 (06:00 +0000)]
Doxygenify some methods.

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

18 years agoAdding notes from release experience.
Tanya Lattner [Thu, 10 Aug 2006 00:23:05 +0000 (00:23 +0000)]
Adding notes from release experience.

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

18 years agoFix a comment.
Reid Spencer [Wed, 9 Aug 2006 19:40:13 +0000 (19:40 +0000)]
Fix a comment.

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

18 years agocorrectly set LocalAreaOffset of TargetFrameInfo
Rafael Espindola [Wed, 9 Aug 2006 17:37:45 +0000 (17:37 +0000)]
correctly set LocalAreaOffset of TargetFrameInfo

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

18 years agoFixed misspelling
Tanya Lattner [Wed, 9 Aug 2006 17:08:27 +0000 (17:08 +0000)]
Fixed misspelling

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

18 years agoRevert previous patch
Chris Lattner [Wed, 9 Aug 2006 16:44:44 +0000 (16:44 +0000)]
Revert previous patch

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

18 years agoReverting back to original 1.8 version so I can manually merge in patch.
Tanya Lattner [Wed, 9 Aug 2006 16:41:21 +0000 (16:41 +0000)]
Reverting back to original 1.8 version so I can manually merge in patch.

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

18 years agofix the spill code
Rafael Espindola [Wed, 9 Aug 2006 16:41:12 +0000 (16:41 +0000)]
fix the spill code

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

18 years agofix the loading of the link register in emitepilogue
Rafael Espindola [Wed, 9 Aug 2006 13:15:47 +0000 (13:15 +0000)]
fix the loading of the link register in emitepilogue

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

18 years agoMerge some NightlyTest.pl changes.
Evan Cheng [Wed, 9 Aug 2006 05:45:12 +0000 (05:45 +0000)]
Merge some NightlyTest.pl changes.

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

18 years agoRecover the lost diff between 1.221 and 1.222.
Evan Cheng [Wed, 9 Aug 2006 05:40:14 +0000 (05:40 +0000)]
Recover the lost diff between 1.221 and 1.222.

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

18 years agoRecover the lost diff between 1.5 and 1.6.
Evan Cheng [Wed, 9 Aug 2006 05:38:51 +0000 (05:38 +0000)]
Recover the lost diff between 1.5 and 1.6.

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

18 years agoUpdate credits and fix sorting issue.
Tanya Lattner [Wed, 9 Aug 2006 04:18:09 +0000 (04:18 +0000)]
Update credits and fix sorting issue.

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

18 years agoUpdate from Anton Korobeynikov
Chris Lattner [Wed, 9 Aug 2006 04:10:32 +0000 (04:10 +0000)]
Update from Anton Korobeynikov

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

18 years agoFixes from Anton Vayvod and Gabor Greif!
Chris Lattner [Wed, 9 Aug 2006 04:08:52 +0000 (04:08 +0000)]
Fixes from Anton Vayvod and Gabor Greif!

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

18 years agochange the addressing mode of the str instruction to reg+imm
Rafael Espindola [Tue, 8 Aug 2006 20:35:03 +0000 (20:35 +0000)]
change the addressing mode of the str instruction to reg+imm

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

18 years agoFirst draft of the llvm 1.8 release notes.
Chris Lattner [Tue, 8 Aug 2006 17:27:28 +0000 (17:27 +0000)]
First draft of the llvm 1.8 release notes.

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

18 years agoDescribe and date modifications we made per LGPL requirements.
John Criswell [Tue, 8 Aug 2006 14:47:54 +0000 (14:47 +0000)]
Describe and date modifications we made per LGPL requirements.

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

18 years agoMake information more complete.
John Criswell [Tue, 8 Aug 2006 14:47:33 +0000 (14:47 +0000)]
Make information more complete.

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

18 years agoinitial support for variable number of arguments
Rafael Espindola [Tue, 8 Aug 2006 13:02:29 +0000 (13:02 +0000)]
initial support for variable number of arguments

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

18 years agoStart eliminating temporary vectors used to create DAG nodes. Instead, pass
Chris Lattner [Tue, 8 Aug 2006 02:23:42 +0000 (02:23 +0000)]
Start eliminating temporary vectors used to create DAG nodes.  Instead, pass
in the start of an array and a count of operands where applicable.  In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap.  In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.

I updated a lot of code calling getNode that takes a vector, but ran out of
time.  The rest of the code should be updated, and these methods should be
removed.

We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.

It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.

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

18 years agoRemoved unneccesary output from nightly tester
Patrick Jenkins [Tue, 8 Aug 2006 02:03:53 +0000 (02:03 +0000)]
Removed unneccesary output from nightly tester

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

18 years agocapacity is a pointer, not a value
Chris Lattner [Tue, 8 Aug 2006 01:54:17 +0000 (01:54 +0000)]
capacity is a pointer, not a value

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

18 years agoUpdate the instructions for writing a pass as a loadable module per the
Reid Spencer [Tue, 8 Aug 2006 01:48:17 +0000 (01:48 +0000)]
Update the instructions for writing a pass as a loadable module per the
new definition in MakefileGuilde.html and Makefile.rules.

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

18 years agoadd a new assign method
Chris Lattner [Tue, 8 Aug 2006 01:44:16 +0000 (01:44 +0000)]
add a new assign method

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

18 years agoEliminate some malloc traffic by allocating vectors on the stack. Change some
Chris Lattner [Tue, 8 Aug 2006 01:09:31 +0000 (01:09 +0000)]
Eliminate some malloc traffic by allocating vectors on the stack.  Change some
method that took std::vector<SDOperand> to take a pointer to a first operand
and #operands.

This speeds up isel on kc++ by about 3%.

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

18 years agoAdd ctor that initializes from a range.
Chris Lattner [Tue, 8 Aug 2006 00:37:50 +0000 (00:37 +0000)]
Add ctor that initializes from a range.

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

18 years agoEliminate reachability matrix. It has to be calculated before any instruction
Evan Cheng [Tue, 8 Aug 2006 00:31:00 +0000 (00:31 +0000)]
Eliminate reachability matrix. It has to be calculated before any instruction
selection is done. That's rather expensive especially in situations where it
isn't really needed.
Move back to a searching the predecessors, but make use of topological order
to trim the search space.

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

18 years agoNew test case.
Evan Cheng [Mon, 7 Aug 2006 23:58:47 +0000 (23:58 +0000)]
New test case.

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

18 years agoFix an anchor name.
Reid Spencer [Mon, 7 Aug 2006 23:44:59 +0000 (23:44 +0000)]
Fix an anchor name.

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

18 years agoRemove assertions from the SmallVector class. They slow down clients of
Chris Lattner [Mon, 7 Aug 2006 23:41:59 +0000 (23:41 +0000)]
Remove assertions from the SmallVector class.  They slow down clients of
smallvector too much in a release build.  Removing them speeds up isel 4%.

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

18 years agoNew CSEMap datastructure impl
Chris Lattner [Mon, 7 Aug 2006 23:31:24 +0000 (23:31 +0000)]
New CSEMap datastructure impl

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

18 years agoMake the name of the project consistent with that specified in the
Reid Spencer [Mon, 7 Aug 2006 23:23:39 +0000 (23:23 +0000)]
Make the name of the project consistent with that specified in the
configure.ac file. This fixes some case-consistency issues between the name
of the tarball created by "make dist" and the tarball used for source when
building the LLVM RPM package.

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

18 years agoRemove the use of "IncludeFile" from this support facility. The mechanism
Reid Spencer [Mon, 7 Aug 2006 23:20:15 +0000 (23:20 +0000)]
Remove the use of "IncludeFile" from this support facility. The mechanism
to build a loadable module is now correctly defined and documented so this
workaround isn't needed any longer.

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

18 years agoMake this example pass use some things from lib/Support (EscapeString,
Reid Spencer [Mon, 7 Aug 2006 23:17:24 +0000 (23:17 +0000)]
Make this example pass use some things from lib/Support (EscapeString,
SlowOperatingInfo, Statistics). Besides providing an example of how to
use these facilities, it also serves to debug problems with runtime linking
when dlopening a loadable module. These three support facilities exercise
different combinations of Text/Weak Weak/Text and Text/Text linking
between the executable and the module.

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

18 years agoFor PR780:
Reid Spencer [Mon, 7 Aug 2006 23:12:15 +0000 (23:12 +0000)]
For PR780:
1. Change the usage of LOADABLE_MODULE so that it implies all the things
   necessary to make a loadable module. This reduces the user's burdern to
   get a loadable module correctly built.
2. Document the usage of LOADABLE_MODULE in the MakefileGuide
3. Adjust the makefile for lib/Transforms/Hello to use the new specification
   for building loadable modules
4. Adjust the sample project to not attempt to build a shared library for
   its little library. This was just wasteful and not instructive at all.

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

18 years agoRevamp the "CSEMap" datastructure used in the SelectionDAG class. This
Chris Lattner [Mon, 7 Aug 2006 23:03:03 +0000 (23:03 +0000)]
Revamp the "CSEMap" datastructure used in the SelectionDAG class.  This
eliminates a bunch of std::map's in the SelectionDAG, replacing them with a
home-grown hashtable.

This is still a work in progress: not all the maps have been moved over and the
hashtable never resizes.  That said, this still speeds up llc 20% on kimwitu++
with -fast -regalloc=local using a release build.

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

18 years agoMatch tablegen isel changes.
Evan Cheng [Mon, 7 Aug 2006 22:28:20 +0000 (22:28 +0000)]
Match tablegen isel changes.

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

18 years agoMaking TableGen'd instruction selection code non-recursive. This fixes PR805.
Evan Cheng [Mon, 7 Aug 2006 22:17:58 +0000 (22:17 +0000)]
Making TableGen'd instruction selection code non-recursive. This fixes PR805.

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

18 years agoMove DAGSize to SelectionDAGISel; it's used in tablegen'd isel code.
Evan Cheng [Mon, 7 Aug 2006 22:16:08 +0000 (22:16 +0000)]
Move DAGSize to SelectionDAGISel; it's used in tablegen'd isel code.

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