Commit Graph

15145 Commits

Author SHA1 Message Date
Chris Lattner
f1de30acce Graphs that are part of equivalence sets can be multi-function SCC's
themselves.  Make sure to update DSInfo correctly.  This fixes a testcase
reduced from Prolangs-C++/objects


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17439 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 20:31:06 +00:00
Chris Lattner
caa35bc0b6 Correctly handle new SCC's found as a result of merging EQ graphs do to
function pointer equivalences.  This fixes many problems, including a testcase
reduced Prolangs-C++/objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17437 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 19:29:59 +00:00
Chris Lattner
033a7d5389 Substantially cleanup/speedup the eq graphs pass by walking the callgraph
a DSGraph at a time instead of a function at a time.  This is also more
correct, though it doesn't seem to fix any programs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17435 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 17:51:11 +00:00
Chris Lattner
e09e21dd1b Fix typo, contributed by Henrik Bach!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17434 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 17:31:02 +00:00
Reid Spencer
ca5fe8fb0c * New Recursive Target: clean-all. This target will recursively descend the
$(ObjDir) and clean out all build modes (Debug, Release, Profile) in
  addition to the normal "clean" rules.
* Fix "clean" problems with Lex/Yacc so all files are remove properly.
* Ensure errors from "rm" don't thwart the uninstall and clean targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17433 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 16:56:15 +00:00
Reid Spencer
3d65949fa1 * New Recursive Target: clean-all
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17432 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 16:36:03 +00:00
Chris Lattner
a62869b064 Fix a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 15:27:57 +00:00
Chris Lattner
983baf472f Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 06:38:58 +00:00
Chris Lattner
d308f8a87f * Rearrange code slightly
* Disable broken transforms for simplifying (setcc (cast X to larger), CI)
  where CC is not != or ==


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17422 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 03:50:32 +00:00
Reid Spencer
31f841bc48 List the individual tools for easier reference.
Make the bugpoint link reference the man page in the CommandGuide until
the Bugpoint.html file can describe bugpoint in a little more of a tutorial
style instead of just being a man page.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17416 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:57:35 +00:00
Reid Spencer
d206bc9884 Add compliant header.
NOTE: This doc needs to describe the bugpoint "subsystem" not the tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17415 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:55:46 +00:00
Reid Spencer
a81d8fc43c Add missing tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17414 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:31:39 +00:00
Chris Lattner
4457f7ea46 Remove more dead methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17413 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:07:05 +00:00
Chris Lattner
dddc13f986 Delete a dead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:04:47 +00:00
Chris Lattner
fcb7d950bc Rename FoldedGraph -> DSInfo to be consistent with other passes
delete some dead methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17410 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:02:23 +00:00
Reid Spencer
1f92301a7d Update table to llvm.css standards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17409 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 20:47:22 +00:00
Reid Spencer
11d45b63a2 Get rid of bogus entity references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17408 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 20:41:01 +00:00
Chris Lattner
77408b8987 Get rid of the EquivClassGraphArgsInfo class, and the map that held it.
We only need one instance of the vector that it contains at a time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17407 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 20:37:00 +00:00
Chris Lattner
7cc372bfc3 Add placeholder variable to make Win32 work, applied for Morten Ofstad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17406 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 20:10:20 +00:00
Chris Lattner
68f9658fcb Eliminate the cloneGraph method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17405 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 19:54:06 +00:00
Reid Spencer
936e5ca38b Attempt CSS 2 compliance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17404 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 09:26:57 +00:00
Reid Spencer
41b34ff575 Attempt CSS 2 validation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17403 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 09:25:03 +00:00
Reid Spencer
0a4e8b3bc0 HTML 4.01 Strict compliance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17402 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 09:22:49 +00:00
Reid Spencer
cbadf80a87 Correct the document type declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17401 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 09:21:32 +00:00
Reid Spencer
bd72241e5e Add the HTML 4.01 and CSS icons with links to validators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17400 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 09:19:53 +00:00
Reid Spencer
c7d1d8256e Attempt HTML 4.01 Strict compliance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17399 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 09:16:30 +00:00
Reid Spencer
fe8f4fff15 Cleanup the constants section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17398 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 09:02:53 +00:00
Reid Spencer
820e247162 Remove spurious end tag, fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17397 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 08:30:14 +00:00
Reid Spencer
376d7acc66 Make HTML 4.01 Strict compliant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17396 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 08:26:25 +00:00
Reid Spencer
97510e7894 Fix tag placement to make HTML 4.01 Strict compliant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 08:24:13 +00:00
Reid Spencer
d3f876c93c Minor format tweask for tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17394 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 08:19:36 +00:00
Reid Spencer
092217286f Add layout classes for table elements so tables can be used for layouts.
This is easier than attempting to figure out dual purpose columnar layouts
for multiple browser types. All browsers understand tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 08:18:06 +00:00
Reid Spencer
632bd0661d Configuration -> BuildMode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 07:53:17 +00:00
Reid Spencer
9af3b29405 Eliminate redundant variable definition. Rename Configuration -> BuildMode
Make lex/yacc output cleaned only if in a directory that has those sources.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 07:50:27 +00:00
Chris Lattner
7e54a01ddb Speed up the tail duplication pass on the testcase below from 68.2s to 1.23s:
#define CL0(a) case a: f(); goto c;
 #define CL1(a) CL0(a##0) CL0(a##1) CL0(a##2) CL0(a##3) CL0(a##4) CL0(a##5) \
 CL0(a##6) CL0(a##7) CL0(a##8) CL0(a##9)
 #define CL2(a) CL1(a##0) CL1(a##1) CL1(a##2) CL1(a##3) CL1(a##4) CL1(a##5) \
 CL1(a##6) CL1(a##7) CL1(a##8) CL1(a##9)
 #define CL3(a) CL2(a##0) CL2(a##1) CL2(a##2) CL2(a##3) CL2(a##4) CL2(a##5) \
 CL2(a##6) CL2(a##7) CL2(a##8) CL2(a##9)
 #define CL4(a) CL3(a##0) CL3(a##1) CL3(a##2) CL3(a##3) CL3(a##4) CL3(a##5) \
 CL3(a##6) CL3(a##7) CL3(a##8) CL3(a##9)

 void f();

 void a() {
     int b;
  c: switch (b) {
         CL4(1)
     }
 }

This comes from GCC PR 15524


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 07:05:07 +00:00
Chris Lattner
bfd3e52701 Do not compute the predecessor list for a block unless we need it.
This speeds up simplifycfg on this program, from 44.87s to 0.29s (with
a profiled build):

 #define CL0(a) case a: goto c;
 #define CL1(a) CL0(a##0) CL0(a##1) CL0(a##2) CL0(a##3) CL0(a##4) CL0(a##5) \
 CL0(a##6) CL0(a##7) CL0(a##8) CL0(a##9)
 #define CL2(a) CL1(a##0) CL1(a##1) CL1(a##2) CL1(a##3) CL1(a##4) CL1(a##5) \
 CL1(a##6) CL1(a##7) CL1(a##8) CL1(a##9)
 #define CL3(a) CL2(a##0) CL2(a##1) CL2(a##2) CL2(a##3) CL2(a##4) CL2(a##5) \
 CL2(a##6) CL2(a##7) CL2(a##8) CL2(a##9)
 #define CL4(a) CL3(a##0) CL3(a##1) CL3(a##2) CL3(a##3) CL3(a##4) CL3(a##5) \
 CL3(a##6) CL3(a##7) CL3(a##8) CL3(a##9)

 void f();

 void a() {
     int b;
  c: switch (b) {
         CL4(1)
     }
 }

This testcase is contrived to expose N^2 behavior, but this patch should speedup
simplifycfg on any programs that use large switch statements.  This testcase
comes from GCC PR17895.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 06:53:58 +00:00
Chris Lattner
e4cb90f41c When compiling a file, indicate what build it is for
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 06:14:59 +00:00
Chris Lattner
31d3f671be * Do not refer to ActualCallees in CBU, when we can do it locally.
* *DO NOT* print CBU graphs when asked to print our own.  This is just
  FREAKING confusing and misleading: it's better to not print anything.
* Simplify and clean up some code
* Add some more paranoia assertion checking code that I found to track
  down this bug:
* Fix a nasty bug that was causing us to crash on Prolangs-C++/objects,
  where we were missing processing some graphs.  This hunk is the bugfix:

-    if (!I->isExternal() && !FoldedGraphsMap.count(I))
+    if (!I->isExternal() && !ValMap.count(I))

  urg!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:41:26 +00:00
Reid Spencer
4148266c9d Wrap to 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17385 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:24:31 +00:00
Reid Spencer
0a727fc729 Add UsingLibraries.html link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17384 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:02:38 +00:00
Chris Lattner
4bbf3dfbe6 Simplify graph traversal, improve grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:01:34 +00:00
Reid Spencer
448a4afd2e Give table headers the striped background.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17382 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:01:02 +00:00
Reid Spencer
341d7141ed * Moved from ObjectFiles.html
* Changed names of libraries to reflect new naming scheme
* Added some more introductory material
* Added a rule of thumb.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17381 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:00:25 +00:00
Reid Spencer
9113b98f6d Renamed UsingLibraries.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 22:59:06 +00:00
Reid Spencer
8dce0ad40e Get the shared library extension right on all platforms, regardless of what
Chris wants on his platform.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17379 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 22:53:06 +00:00
Chris Lattner
ab8544aa75 Do not do horrible things to the CBU graphs. In particular, we do NOT own
the CBU graphs, copy them instead of hacking on the CBU graphs.

Also, instead of forwarding request from ECGraphs clients to the CBU graphs
clients, service them ourselves.

Finally, remove a broken "optimization"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17378 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 21:56:11 +00:00
Chris Lattner
3b7b81b814 Fix comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17377 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 21:54:51 +00:00
Reid Spencer
2e6e8e5862 Fix output for building shared libraries per Chris' requirements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17376 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 21:07:34 +00:00
Chris Lattner
e84c23e0c1 Improve comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17375 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 19:57:43 +00:00
Reid Spencer
8676b7eed0 Actually use the correct variable name for building bytecode files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17374 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 18:52:15 +00:00