Commit Graph

15247 Commits

Author SHA1 Message Date
Chris Lattner cff3b41e95 Fix this function to not say that longs have 8-byte alignment on X86/PPC.
This method is really a gross hack, but at least we can make it work on
the targets we support right now.

This bug fix stops a crash in a testcase reduced from 176.gcc

llvm-svn: 17443
2004-11-02 22:18:18 +00:00
Tanya Lattner 444be61ea6 Added gross hacks such as creating my own def-use map, and picking on Instruction that I can add all my TmpInstructions to its MCFI.
llvm-svn: 17441
2004-11-02 21:04:56 +00:00
Chris Lattner de7a85895c 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

llvm-svn: 17439
2004-11-02 20:31:06 +00:00
Chris Lattner 661b8552bb 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.

llvm-svn: 17437
2004-11-02 19:29:59 +00:00
Chris Lattner ddb4d2a524 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.

llvm-svn: 17435
2004-11-02 17:51:11 +00:00
Chris Lattner 32b01c3143 Fix typo, contributed by Henrik Bach!
llvm-svn: 17434
2004-11-02 17:31:02 +00:00
Reid Spencer 651dd3ad5a * 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.

llvm-svn: 17433
2004-11-02 16:56:15 +00:00
Reid Spencer 9d0c1e0de6 * New Recursive Target: clean-all
llvm-svn: 17432
2004-11-02 16:36:03 +00:00
Chris Lattner 99d7bb3378 Fix a warning
llvm-svn: 17431
2004-11-02 15:27:57 +00:00
Chris Lattner e5370f56ae Minor cleanups
llvm-svn: 17428
2004-11-02 06:38:58 +00:00
Chris Lattner 96f6616479 * Rearrange code slightly
* Disable broken transforms for simplifying (setcc (cast X to larger), CI)
  where CC is not != or ==

llvm-svn: 17422
2004-11-02 03:50:32 +00:00
Reid Spencer 9df63b4e52 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.

llvm-svn: 17416
2004-11-01 21:57:35 +00:00
Reid Spencer 2ed33b46d5 Add compliant header.
NOTE: This doc needs to describe the bugpoint "subsystem" not the tool.

llvm-svn: 17415
2004-11-01 21:55:46 +00:00
Reid Spencer 10c6d3f372 Add missing tag.
llvm-svn: 17414
2004-11-01 21:31:39 +00:00
Chris Lattner b93914d06c Remove more dead methods
llvm-svn: 17413
2004-11-01 21:07:05 +00:00
Chris Lattner 76a5a2eb2a Delete a dead method
llvm-svn: 17412
2004-11-01 21:04:47 +00:00
Chris Lattner 773ca922a7 Rename FoldedGraph -> DSInfo to be consistent with other passes
delete some dead methods

llvm-svn: 17410
2004-11-01 21:02:23 +00:00
Reid Spencer 6b6557c5eb Update table to llvm.css standards.
llvm-svn: 17409
2004-11-01 20:47:22 +00:00
Reid Spencer a4e9b54222 Get rid of bogus entity references.
llvm-svn: 17408
2004-11-01 20:41:01 +00:00
Chris Lattner 5e9b3540d1 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.

llvm-svn: 17407
2004-11-01 20:37:00 +00:00
Chris Lattner 720eb217a7 Add placeholder variable to make Win32 work, applied for Morten Ofstad
llvm-svn: 17406
2004-11-01 20:10:20 +00:00
Chris Lattner ef41cbb97d Eliminate the cloneGraph method
llvm-svn: 17405
2004-11-01 19:54:06 +00:00
Reid Spencer 1e64cad5ff Attempt CSS 2 compliance.
llvm-svn: 17404
2004-11-01 09:26:57 +00:00
Reid Spencer 4ffe4a7733 Attempt CSS 2 validation.
llvm-svn: 17403
2004-11-01 09:25:03 +00:00
Reid Spencer 7336a6c337 HTML 4.01 Strict compliance.
llvm-svn: 17402
2004-11-01 09:22:49 +00:00
Reid Spencer 271fe88b3f Correct the document type declaration.
llvm-svn: 17401
2004-11-01 09:21:32 +00:00
Reid Spencer fea14b5599 Add the HTML 4.01 and CSS icons with links to validators.
llvm-svn: 17400
2004-11-01 09:19:53 +00:00
Reid Spencer 0777321b8f Attempt HTML 4.01 Strict compliance.
llvm-svn: 17399
2004-11-01 09:16:30 +00:00
Reid Spencer f0714dd617 Cleanup the constants section.
llvm-svn: 17398
2004-11-01 09:02:53 +00:00
Reid Spencer 49fb40c6d9 Remove spurious end tag, fix indentation.
llvm-svn: 17397
2004-11-01 08:30:14 +00:00
Reid Spencer 9f16cad663 Make HTML 4.01 Strict compliant.
llvm-svn: 17396
2004-11-01 08:26:25 +00:00
Reid Spencer 4d21242e66 Fix tag placement to make HTML 4.01 Strict compliant.
llvm-svn: 17395
2004-11-01 08:24:13 +00:00
Reid Spencer c3c4c4f843 Minor format tweask for tables.
llvm-svn: 17394
2004-11-01 08:19:36 +00:00
Reid Spencer ad44f5c0be 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.

llvm-svn: 17393
2004-11-01 08:18:06 +00:00
Reid Spencer 0be901556b Configuration -> BuildMode
llvm-svn: 17392
2004-11-01 07:53:17 +00:00
Reid Spencer b5b92fbaf6 Eliminate redundant variable definition. Rename Configuration -> BuildMode
Make lex/yacc output cleaned only if in a directory that has those sources.

llvm-svn: 17391
2004-11-01 07:50:27 +00:00
Chris Lattner 8af7424920 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

llvm-svn: 17390
2004-11-01 07:05:07 +00:00
Chris Lattner 93d1e39f3e 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.

llvm-svn: 17389
2004-11-01 06:53:58 +00:00
Chris Lattner 615e7fbcf3 When compiling a file, indicate what build it is for
llvm-svn: 17388
2004-11-01 06:14:59 +00:00
Chris Lattner 01f2381c72 * 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!

llvm-svn: 17386
2004-10-31 23:41:26 +00:00
Reid Spencer b1454879b3 Wrap to 80 cols
llvm-svn: 17385
2004-10-31 23:24:31 +00:00
Reid Spencer 0b40fdb0ad Add UsingLibraries.html link.
llvm-svn: 17384
2004-10-31 23:02:38 +00:00
Chris Lattner aeb2b16c45 Simplify graph traversal, improve grammar
llvm-svn: 17383
2004-10-31 23:01:34 +00:00
Reid Spencer 1e3586ee1d Give table headers the striped background.
llvm-svn: 17382
2004-10-31 23:01:02 +00:00
Reid Spencer 0d6d8d0af5 * Moved from ObjectFiles.html
* Changed names of libraries to reflect new naming scheme
* Added some more introductory material
* Added a rule of thumb.

llvm-svn: 17381
2004-10-31 23:00:25 +00:00
Reid Spencer 67fe9440e6 Renamed UsingLibraries.html
llvm-svn: 17380
2004-10-31 22:59:06 +00:00
Reid Spencer 737424ced3 Get the shared library extension right on all platforms, regardless of what
Chris wants on his platform.

llvm-svn: 17379
2004-10-31 22:53:06 +00:00
Chris Lattner d49bd175f0 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"

llvm-svn: 17378
2004-10-31 21:56:11 +00:00
Chris Lattner e3c00e9eee Fix comment
llvm-svn: 17377
2004-10-31 21:54:51 +00:00
Reid Spencer 68172d44c2 Fix output for building shared libraries per Chris' requirements
llvm-svn: 17376
2004-10-31 21:07:34 +00:00