Commit Graph

15228 Commits

Author SHA1 Message Date
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
Reid Spencer
e1907865b8 Add the preconditions target per suggestion by Henrik Bach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17373 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 18:50:34 +00:00
Chris Lattner
f498568240 Fix another bug in Prolangs-C++/objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17372 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 18:13:19 +00:00
Reid Spencer
15e4f7430c One more missing end tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17371 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 17:58:58 +00:00
Reid Spencer
0b166c442b Correct tag usage for HTML 4.01 Strict compliance
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17370 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 17:56:50 +00:00
Reid Spencer
2734bf754a Add a tutorial and some more general concepts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17369 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 17:51:38 +00:00
Chris Lattner
113cde8685 Only call getNodeForValue on pointer arguments! this fixes a problem running
on Prolangs-C++/objects


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17368 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 17:47:48 +00:00
Chris Lattner
7d8d4711d9 Add more paranoid assertions :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17367 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 17:45:40 +00:00
Misha Brukman
4ad0b11b95 No, really, the library name is `LLVMexecve'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 17:30:52 +00:00
Vikram S. Adve
ab9ef2ae84 Fix patterns to match only one-char words.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17365 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 23:11:26 +00:00
Reid Spencer
a07e0b5e18 Add a few more terms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17364 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 21:40:28 +00:00
Reid Spencer
a79e58c22e Complete the description of public variables. Internal variables are listed
but not described. It might just stay that way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17363 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 21:39:42 +00:00
Reid Spencer
a98e7b5e75 Change macro names per naming standard in Makefile.rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17361 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 09:26:22 +00:00
Reid Spencer
3abd4974ba Correct macro names per naming standard in Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17360 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 09:25:27 +00:00
Reid Spencer
cc2d1e25f3 Internalize variable names to prevent recursive assignment. Cleanup docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 09:19:36 +00:00
Chris Lattner
f1bd4b4215 Fix some more problems where we called getOffset before getNode()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17358 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 07:21:19 +00:00
Chris Lattner
857eb0697f Fix three bugs:
1. Calls to external global VARIABLES should not be treated as a call to an
    external function
 2. Efficiently deleting an element from a vector by using std::swap with
    the back, then pop_back is NOT a good way to keep the vector sorted.
 3. Our hope of having stuff get deleted by making them redundant just won't
    work.  In particular, if we have three calls in sequence that should be
    merged: A, B, C   first we unify B into A.  To be sure that they appeared
    identical (so B would be erased) we set B = A.  On the next step, we
    unified C into A and set C = A.  Unfortunately, this is no guarantee that
    C = B, so we would fail to delete the dead call.  Switch to a more
    explicit scheme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17357 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 05:41:23 +00:00
Chris Lattner
62c3a95051 Fix more undefined behavior
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 04:22:45 +00:00