Commit Graph

25993 Commits

Author SHA1 Message Date
Reid Spencer
1c6f87d665 Some more correction to the examples, thanks to Chris Lattner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29696 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:57:05 +00:00
Reid Spencer
920baeee80 Simplify this a little bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29695 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:50:10 +00:00
Reid Spencer
6ae928fc69 This script takes arguments so remove the check for number of arguments,
just check the first arg to see if its -topdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29694 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:48:22 +00:00
Reid Spencer
50739225f4 Fix an example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29693 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:46:38 +00:00
Reid Spencer
80a4d05a20 Clarify the first question.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29692 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:43:31 +00:00
Reid Spencer
919d37151a 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29691 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:32:10 +00:00
Chris Lattner
884a9702bb Add a link to the GEP faq.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29690 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 00:45:58 +00:00
Chris Lattner
33bef484ce Add a link in a prominant location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29689 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 00:43:35 +00:00
Chris Lattner
3ca002bc17 Make getNodeValueTypes methods public.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29688 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:54:24 +00:00
Chris Lattner
f9f37fc52c eliminate use of getNode that takes vector of valuetypes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29687 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:53:35 +00:00
Devang Patel
2198f9cec4 untabify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29686 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:37:18 +00:00
Chris Lattner
2fa6d3b1fc 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29685 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:31:51 +00:00
Devang Patel
64d128de9c Avoid extra string copy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29684 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:27:36 +00:00
Reid Spencer
9977ea6f33 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29682 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:19:57 +00:00
Reid Spencer
cc2665d431 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29681 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:15:03 +00:00
Devang Patel
30235dad4b Use mangler, instead of addUnderscore(), to get mangled name.
Now, LLVMSymbol keeps symbol original name and mangled name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29679 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:36:16 +00:00
Reid Spencer
70bbf9a3dd Provide indentation of the generated program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29678 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:35:15 +00:00
Chris Lattner
e51ee04c3d remove SelectionDAG::InsertISelMapEntry, it is dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29677 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:24:39 +00:00
Chris Lattner
213a16c637 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 :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29675 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:19:25 +00:00
Chris Lattner
b5677f933f avoid a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29674 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 21:47:50 +00:00
Chris Lattner
df32aac51b Handle single-entry PHI nodes correctly. This fixes PR877 and
Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29673 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 21:38:05 +00:00
Chris Lattner
a7174736fa new testcase from PR877
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29672 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 21:37:32 +00:00
Chris Lattner
6e3b7c28f3 Fix more validation issues
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29671 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 20:51:35 +00:00
Chris Lattner
5907d407e3 Update the example to work with llvm-gcc4. Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29670 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 20:45:25 +00:00
Chris Lattner
130fc13506 Add the actual constant to the hash for ConstantPool nodes. Thanks to
Rafael Espindola for pointing this out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 20:12:44 +00:00
Chris Lattner
29a965d3c4 typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29668 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 20:07:50 +00:00
Reid Spencer
f428c0f3f3 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29667 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 19:51:02 +00:00
Reid Spencer
b5fc9f537b Fix several grammaros and a few HTML usage items.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29665 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 19:19:55 +00:00
Rafael Espindola
61369da0e5 select code like
ldr rx, [ry, #offset]


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29664 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 19:01:24 +00:00
Reid Spencer
ca7592a1ba 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 18:49:05 +00:00
Devang Patel
e6dd6a11d1 Use < and >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29662 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 18:49:03 +00:00
Devang Patel
2c1292f709 Fix verification failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29661 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 18:39:35 +00:00
Devang Patel
de4bbd94dc Add lto doc link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29660 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 18:21:53 +00:00
Devang Patel
93449f13d8 Add lto doc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29659 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 18:03:40 +00:00
Patrick Jenkins
9e384abc1a 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
2006-08-14 16:07:14 +00:00
Reid Spencer
71ddd5319a Add llvm2cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29656 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 19:04:57 +00:00
Reid Spencer
321956392f 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
2006-08-13 19:03:06 +00:00
Reid Spencer
99aa27161b 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
2006-08-13 18:59:40 +00:00
Reid Spencer
c7e289f7ca 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
2006-08-13 18:29:21 +00:00
Reid Spencer
956dae87ae 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
2006-08-13 18:28:27 +00:00
Reid Spencer
fa34d7b3a7 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
2006-08-13 09:53:02 +00:00
Nate Begeman
52a51e38dc 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
2006-08-12 21:29:52 +00:00
Chris Lattner
f6e190fae0 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
2006-08-12 07:20:05 +00:00
Chris Lattner
103de7785a 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
2006-08-12 05:41:39 +00:00
Chris Lattner
3bb4657488 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
2006-08-12 05:25:00 +00:00
Chris Lattner
9289b637a4 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
2006-08-12 05:23:27 +00:00
Chris Lattner
69b3992154 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
2006-08-12 05:02:03 +00:00
Chris Lattner
fa78946482 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
2006-08-12 04:51:20 +00:00
Chris Lattner
8731c0d234 Track # nodes in a CSEMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29643 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 01:07:51 +00:00
Chris Lattner
dd28900168 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
2006-08-12 01:07:10 +00:00