25899 Commits

Author SHA1 Message Date
Reid Spencer
5376d1a901 Fix an example.
llvm-svn: 29693
2006-08-15 03:46:38 +00:00
Reid Spencer
24f2239940 Clarify the first question.
llvm-svn: 29692
2006-08-15 03:43:31 +00:00
Reid Spencer
78bac43f3f Rearrange things for clarity, don't talk about "dereferencing" when we
shouldn't, and add a better example for one of the questions. Thanks to
Chris Lattner for these suggestions.

llvm-svn: 29691
2006-08-15 03:32:10 +00:00
Chris Lattner
180ca1aa2e Add a link to the GEP faq.
llvm-svn: 29690
2006-08-15 00:45:58 +00:00
Chris Lattner
f391863d7a Add a link in a prominant location.
llvm-svn: 29689
2006-08-15 00:43:35 +00:00
Chris Lattner
28369b8d7d Make getNodeValueTypes methods public.
llvm-svn: 29688
2006-08-14 23:54:24 +00:00
Chris Lattner
44d58ded54 eliminate use of getNode that takes vector of valuetypes.
llvm-svn: 29687
2006-08-14 23:53:35 +00:00
Devang Patel
d930310498 untabify
llvm-svn: 29686
2006-08-14 23:37:18 +00:00
Chris Lattner
8e8d9a3358 Add a new getNode() method that takes a pointer to an already-intern'd list
of value-type nodes.  This avoids having to do mallocs for std::vectors of
valuetypes when a node returns more than one type.

llvm-svn: 29685
2006-08-14 23:31:51 +00:00
Devang Patel
91349ea154 Avoid extra string copy.
llvm-svn: 29684
2006-08-14 23:27:36 +00:00
Reid Spencer
758464bc38 For PR876:
Fix problem setting the USE_{program} variable. It should be set to a
Makefile variable definition line, not just "1". Problem noted by
Kenneth Hoste.

llvm-svn: 29682
2006-08-14 23:19:57 +00:00
Reid Spencer
a324a7e3bd For PR876:
Fix problem noticed by Kenneth Hoste. The wrong name for a variable was
being set and subsequently uses of the correct name were empty.

llvm-svn: 29681
2006-08-14 23:15:03 +00:00
Devang Patel
c97ee74e6a Use mangler, instead of addUnderscore(), to get mangled name.
Now, LLVMSymbol keeps symbol original name and mangled name.

llvm-svn: 29679
2006-08-14 22:36:16 +00:00
Reid Spencer
249b932022 Provide indentation of the generated program.
llvm-svn: 29678
2006-08-14 22:35:15 +00:00
Chris Lattner
9ff7eb17e0 remove SelectionDAG::InsertISelMapEntry, it is dead
llvm-svn: 29677
2006-08-14 22:24:39 +00:00
Chris Lattner
fe1fd00ce8 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
67305e3cf6 avoid a warning
llvm-svn: 29674
2006-08-14 21:47:50 +00:00
Chris Lattner
d9ce68d3ec 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
fde089b9ff new testcase from PR877
llvm-svn: 29672
2006-08-14 21:37:32 +00:00
Chris Lattner
f8de3567f9 Fix more validation issues
llvm-svn: 29671
2006-08-14 20:51:35 +00:00
Chris Lattner
900d2595bf Update the example to work with llvm-gcc4. Fix validation errors.
llvm-svn: 29670
2006-08-14 20:45:25 +00:00
Chris Lattner
e02af2c427 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
85fd338549 typo
llvm-svn: 29668
2006-08-14 20:07:50 +00:00
Reid Spencer
4b43c21b25 Fix a typo.
llvm-svn: 29667
2006-08-14 19:51:02 +00:00
Reid Spencer
05a6399166 Fix several grammaros and a few HTML usage items.
llvm-svn: 29665
2006-08-14 19:19:55 +00:00
Rafael Espindola
48bed9023d select code like
ldr rx, [ry, #offset]

llvm-svn: 29664
2006-08-14 19:01:24 +00:00
Reid Spencer
7f2ce5b626 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
7d006ce00c Use < and >
llvm-svn: 29662
2006-08-14 18:49:03 +00:00
Devang Patel
865691d875 Fix verification failures.
llvm-svn: 29661
2006-08-14 18:39:35 +00:00
Devang Patel
a842bba3cb Add lto doc link.
llvm-svn: 29660
2006-08-14 18:21:53 +00:00
Devang Patel
4bd3f2724f Add lto doc.
llvm-svn: 29659
2006-08-14 18:03:40 +00:00
Patrick Jenkins
08a5429d76 Added some comments to clarify code around sub TestDirectory
llvm-svn: 29658
2006-08-14 16:07:14 +00:00
Reid Spencer
e51d80e9ff Add llvm2cpp.
llvm-svn: 29656
2006-08-13 19:04:57 +00:00
Reid Spencer
accb07b254 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
e309e97cbd 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
283f511a60 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
08a7d6413f 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
24b0f0757f 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
0e92042770 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
c482a5d057 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
d4ee71db50 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
a75d3b6d0d 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
a227388ba0 New testcase, this used to take hours to loopsimplify.
llvm-svn: 29646
2006-08-12 05:23:27 +00:00
Chris Lattner
9781d44b6e 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
0885025198 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
7d59e9d16c Track # nodes in a CSEMap.
llvm-svn: 29643
2006-08-12 01:07:51 +00:00
Chris Lattner
1d6e50c037 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
21f214fa6b 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
5510fa4ac5 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
4966686ef8 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