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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Evan Cheng [Mon, 7 Aug 2006 22:13:29 +0000 (22:13 +0000)]
Clear TopOrder before assigning topological order. Some clean ups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29546
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 22:12:12 +0000 (22:12 +0000)]
Reverse the FlaggedNodes after scanning up for flagged preds or else the order would be reversed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29545
91177308-0d34-0410-b5e6-
96231b3b80d8