Chris Lattner
63268f0672
Add code to resize the CSEMap hash table. This doesn't speedup codegen of
...
kimwitu, but seems like a good idea from a "avoid performance cliffs" standpoint :)
llvm-svn: 29675
2006-08-14 22:19:25 +00:00
Chris Lattner
fdb296850c
avoid a warning
...
llvm-svn: 29674
2006-08-14 21:47:50 +00:00
Chris Lattner
6441cf93c9
Handle single-entry PHI nodes correctly. This fixes PR877 and
...
Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
llvm-svn: 29673
2006-08-14 21:38:05 +00:00
Chris Lattner
c5bbda70e3
new testcase from PR877
...
llvm-svn: 29672
2006-08-14 21:37:32 +00:00
Chris Lattner
c7443af7d3
Fix more validation issues
...
llvm-svn: 29671
2006-08-14 20:51:35 +00:00
Chris Lattner
5b560d98da
Update the example to work with llvm-gcc4. Fix validation errors.
...
llvm-svn: 29670
2006-08-14 20:45:25 +00:00
Chris Lattner
8e37283d8b
Add the actual constant to the hash for ConstantPool nodes. Thanks to
...
Rafael Espindola for pointing this out.
llvm-svn: 29669
2006-08-14 20:12:44 +00:00
Chris Lattner
a496ec35ed
typo
...
llvm-svn: 29668
2006-08-14 20:07:50 +00:00
Reid Spencer
8627ee227c
Fix a typo.
...
llvm-svn: 29667
2006-08-14 19:51:02 +00:00
Reid Spencer
105780fb7d
Fix several grammaros and a few HTML usage items.
...
llvm-svn: 29665
2006-08-14 19:19:55 +00:00
Rafael Espindola
157971b04a
select code like
...
ldr rx, [ry, #offset]
llvm-svn: 29664
2006-08-14 19:01:24 +00:00
Reid Spencer
235c1555c3
Make all tools that use llvmdo have a -topdir option that allows the top
...
source dir for LLVM to be specified explicitly. This removes the dependency
on the llvm-config script. If the option is not given, then the scripts use
llvm-config which should be both built and in the PATH. This arrangement
provides a useful default for most developers but also allows the nightly
tester to execute countloc.sh before llvm-config is built and without
altering the PATH.
llvm-svn: 29663
2006-08-14 18:49:05 +00:00
Devang Patel
cee1799a33
Use < and >
...
llvm-svn: 29662
2006-08-14 18:49:03 +00:00
Devang Patel
c3b31161e7
Fix verification failures.
...
llvm-svn: 29661
2006-08-14 18:39:35 +00:00
Devang Patel
b1ebbee8b8
Add lto doc link.
...
llvm-svn: 29660
2006-08-14 18:21:53 +00:00
Devang Patel
b15c007812
Add lto doc.
...
llvm-svn: 29659
2006-08-14 18:03:40 +00:00
Patrick Jenkins
d531b509cc
Added some comments to clarify code around sub TestDirectory
...
llvm-svn: 29658
2006-08-14 16:07:14 +00:00
Reid Spencer
6d389e12fd
Add llvm2cpp.
...
llvm-svn: 29656
2006-08-13 19:04:57 +00:00
Reid Spencer
f82ce13179
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
llvm-svn: 29655
2006-08-13 19:03:06 +00:00
Reid Spencer
0cb9ded022
Count the documentation. Otherwise we take a 30,000 hit in the LOC on the
...
nightly test graph. And, documentation is important.
llvm-svn: 29654
2006-08-13 18:59:40 +00:00
Reid Spencer
4e6115ea3a
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.
llvm-svn: 29653
2006-08-13 18:29:21 +00:00
Reid Spencer
1be8d4c3c3
Add a -code-only option which restricts llvmdo to visiting just those
...
files that are considered to be code. Documentation is excluded.
llvm-svn: 29652
2006-08-13 18:28:27 +00:00
Reid Spencer
558269c8d6
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.
llvm-svn: 29651
2006-08-13 09:53:02 +00:00
Nate Begeman
984c1a4a8f
Emit .set directives for jump table entries when possible, which reduces
...
the number of relocations in object files, shrinkifying them.
llvm-svn: 29650
2006-08-12 21:29:52 +00:00
Chris Lattner
095e4ad2ea
Fix a bug in a recent refactoring that broke a bunch of stuff.
...
llvm-svn: 29649
2006-08-12 07:20:05 +00:00
Chris Lattner
167ea3eb5f
Fix an obvious bug, noticed by inspection. No current targets trigger this.
...
llvm-svn: 29648
2006-08-12 05:41:39 +00:00
Chris Lattner
f18b396cc2
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.
llvm-svn: 29647
2006-08-12 05:25:00 +00:00
Chris Lattner
54faca1d70
New testcase, this used to take hours to loopsimplify.
...
llvm-svn: 29646
2006-08-12 05:23:27 +00:00
Chris Lattner
859a138dc4
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.
llvm-svn: 29645
2006-08-12 05:02:03 +00:00
Chris Lattner
85d9944f9a
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.
llvm-svn: 29644
2006-08-12 04:51:20 +00:00
Chris Lattner
9fd1027b4c
Track # nodes in a CSEMap.
...
llvm-svn: 29643
2006-08-12 01:07:51 +00:00
Chris Lattner
0a60294fa0
Switch to using SuperFastHash instead of adding all elements together. This
...
doesn't significantly improve performance but it helps a small amount.
llvm-svn: 29642
2006-08-12 01:07:10 +00:00
Reid Spencer
52aeae0666
Lexer.cpp is a generated file both in lib/AsmParser and projects/Stacker
...
so we remove it from being counted.
llvm-svn: 29641
2006-08-11 23:58:58 +00:00
Chris Lattner
04aa034f38
Switch NodeID to track 32-bit chunks instead of 8-bit chunks, for a 2.5%
...
speedup in isel time.
llvm-svn: 29640
2006-08-11 23:55:53 +00:00
Chris Lattner
5425637481
remove IncludeFile turds in MathExtras.h, which bloats every .o file that
...
#includes it.
llvm-svn: 29639
2006-08-11 23:52:54 +00:00
Reid Spencer
854b5c7c40
Weed out some cruft and add in some missing extensions.
...
llvm-svn: 29638
2006-08-11 23:51:05 +00:00
Reid Spencer
8ca43d72aa
Weed out cruft that should not be counted and add in extensions we
...
previously missed.
llvm-svn: 29637
2006-08-11 23:50:27 +00:00
Chris Lattner
ab786e77c6
move code out of line so that GCC doesn't inline it at -O3
...
llvm-svn: 29636
2006-08-11 23:40:23 +00:00
Patrick Jenkins
04ed1426f6
Added information for the new nightly tester.
...
llvm-svn: 29635
2006-08-11 23:27:02 +00:00
Chris Lattner
19172c90f1
Split SmallVector into SmallVector and SmallVectorImpl, which allows us to
...
eliminate code duplication due to the 'N' parameter.
llvm-svn: 29634
2006-08-11 23:19:51 +00:00
Patrick Jenkins
e97e60734a
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.
...
llvm-svn: 29633
2006-08-11 23:02:09 +00:00
Reid Spencer
db3752ab6b
Make this script not care where it is run from by getting the llvm src
...
root from the llvm-config script.
llvm-svn: 29632
2006-08-11 21:55:31 +00:00
Chris Lattner
0c2e5412bb
Remove 8 more std::map's.
...
llvm-svn: 29631
2006-08-11 21:55:30 +00:00
Reid Spencer
719c383594
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.
llvm-svn: 29630
2006-08-11 21:53:27 +00:00
Reid Spencer
47fcb4779d
Don't print double newline for --src-root and --obj-root as it tends to
...
confuse shells that might use this output.
llvm-svn: 29629
2006-08-11 21:50:24 +00:00
Chris Lattner
797ee571ae
remove old piece of the V9 backend.
...
llvm-svn: 29628
2006-08-11 21:11:35 +00:00
Chris Lattner
20b461a97f
eliminate extraneous blank line
...
llvm-svn: 29627
2006-08-11 21:08:16 +00:00
Chris Lattner
3f16b201e2
Move the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants,
...
RegNodes, and ValueNodes maps into the CSEMap.
llvm-svn: 29626
2006-08-11 21:01:22 +00:00
Chris Lattner
2006a2ebab
Start moving leaf nodes over to the CSEMap.
...
llvm-svn: 29625
2006-08-11 21:00:46 +00:00
Reid Spencer
1f0b9a1158
Clean up the HTML output. Add a -filedetails option to report the number of
...
lines contributed by each user to each file.
llvm-svn: 29624
2006-08-11 20:44:17 +00:00