Commit Graph

15158 Commits

Author SHA1 Message Date
Chris Lattner aa70ef7b5b Fix project file, patch contributed by Jeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17479 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:15:30 +00:00
Misha Brukman 7cf540bba0 Clean up code layout, delete extra blank line, say fibonacci' instead of foo'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17478 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:11:40 +00:00
Nate Begeman 28dd2fc240 Thanks to sabre for pointing out that we were incorrectly codegen'ing
int test(int x) { return 32768 - x; }

Fixed by teaching the function that checks a constant's validity to be used
as an immediate argument about subtract-from instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17476 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-04 19:43:18 +00:00
Chris Lattner 3c7d7ee761 Fix typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17466 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-04 05:00:18 +00:00
Brian Gaeke 6931fd61c0 Handle "call" operands of type long/ulong passed in registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17464 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-04 00:27:04 +00:00
Chris Lattner 38f024daea Cleanup this example, simplifying it and making it conform to LLVM coding
standards


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17459 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 21:43:03 +00:00
Chris Lattner 82962de3b9 Don't call Constant::getNullValue when the argument could be VoidTy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17457 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 18:51:26 +00:00
Chris Lattner 5200ad1b34 defining __STDC_LIMIT_MACROS on the command line is not really necessary
for Visual Studio, and is a bit of a pain when you want to include the
LLVM headers from your own project, so I moved the check a bit down into
the Unix case to avoid the hassle... Here is a patch

Patch by Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17450 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 17:15:45 +00:00
Brian Gaeke 64aeb00928 CONFIGURATION isn't spelled Configuration, it's spelled BuildMode.
Due to qmtest's or llvm.py's lousy error checking, this single error
causes qmtest to fork-bomb the machine, filling the process table with
python processes that do nothing.  Clearly, better error checking is
needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17449 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 17:11:23 +00:00
Reid Spencer 7315c8db39 Top level files for building natively on win32
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17447 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 16:14:40 +00:00
Reid Spencer 085ea4d39a MS Visual Studio files for building LLVM on Win32 platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17446 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 16:13:14 +00:00
Chris Lattner da6122f61d 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17443 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 22:18:18 +00:00
Tanya Lattner 80f085500f 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 21:04:56 +00:00
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