Commit Graph

602 Commits

Author SHA1 Message Date
Chris Lattner
537a49a85a The meat of this utility has been moved to FileUtilities, where it can be
used by other tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19767 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-23 03:15:47 +00:00
Chris Lattner
131ca38c60 Minor fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19761 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 20:59:38 +00:00
Chris Lattner
38c0751a12 This is the final big of factoring. This shares cases in suboperand
differences, which means that identical instructions (after stripping off
the first literal string) do not run any different code at all.  On the X86,
this turns this code:

    switch (MI->getOpcode()) {
    case X86::ADC32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::ADC32mi8: printOperand(MI, 4, MVT::i8); break;
    case X86::ADC32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::ADD32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::ADD32mi8: printOperand(MI, 4, MVT::i8); break;
    case X86::ADD32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::AND32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::AND32mi8: printOperand(MI, 4, MVT::i8); break;
    case X86::AND32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::CMP32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::CMP32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::MOV32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::MOV32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::OR32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::OR32mi8: printOperand(MI, 4, MVT::i8); break;
    case X86::OR32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::ROL32mi: printOperand(MI, 4, MVT::i8); break;
    case X86::ROR32mi: printOperand(MI, 4, MVT::i8); break;
    case X86::SAR32mi: printOperand(MI, 4, MVT::i8); break;
    case X86::SBB32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::SBB32mi8: printOperand(MI, 4, MVT::i8); break;
    case X86::SBB32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::SHL32mi: printOperand(MI, 4, MVT::i8); break;
    case X86::SHLD32mrCL: printOperand(MI, 4, MVT::i32); break;
    case X86::SHR32mi: printOperand(MI, 4, MVT::i8); break;
    case X86::SHRD32mrCL: printOperand(MI, 4, MVT::i32); break;
    case X86::SUB32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::SUB32mi8: printOperand(MI, 4, MVT::i8); break;
    case X86::SUB32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::TEST32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::TEST32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::TEST8mi: printOperand(MI, 4, MVT::i8); break;
    case X86::XCHG32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::XOR32mi: printOperand(MI, 4, MVT::i32); break;
    case X86::XOR32mi8: printOperand(MI, 4, MVT::i8); break;
    case X86::XOR32mr: printOperand(MI, 4, MVT::i32); break;
    }

into this:

    switch (MI->getOpcode()) {
    case X86::ADC32mi:
    case X86::ADC32mr:
    case X86::ADD32mi:
    case X86::ADD32mr:
    case X86::AND32mi:
    case X86::AND32mr:
    case X86::CMP32mi:
    case X86::CMP32mr:
    case X86::MOV32mi:
    case X86::MOV32mr:
    case X86::OR32mi:
    case X86::OR32mr:
    case X86::SBB32mi:
    case X86::SBB32mr:
    case X86::SHLD32mrCL:
    case X86::SHRD32mrCL:
    case X86::SUB32mi:
    case X86::SUB32mr:
    case X86::TEST32mi:
    case X86::TEST32mr:
    case X86::XCHG32mr:
    case X86::XOR32mi:
    case X86::XOR32mr: printOperand(MI, 4, MVT::i32); break;
    case X86::ADC32mi8:
    case X86::ADD32mi8:
    case X86::AND32mi8:
    case X86::OR32mi8:
    case X86::ROL32mi:
    case X86::ROR32mi:
    case X86::SAR32mi:
    case X86::SBB32mi8:
    case X86::SHL32mi:
    case X86::SHR32mi:
    case X86::SUB32mi8:
    case X86::TEST8mi:
    case X86::XOR32mi8: printOperand(MI, 4, MVT::i8); break;
    }

After this, the generated asmwriters look pretty much as though they were
generated by hand.  This shrinks the X86 asmwriter.inc files from 55101->39669
and 55429->39551 bytes each, and PPC from 16766->12859 bytes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19760 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 20:31:17 +00:00
Chris Lattner
f876668518 Implement *even more* factoring. In particular, if all of the instruction
strings starts out with a constant string, we emit the string first, using
a table lookup (instead of a switch statement).

Because this is usually the opcode portion of the asm string, the differences
between the instructions have now been greatly reduced.  This allows many
more case statements to be grouped together.

This patch also allows instruction cases to be grouped together when the
instruction patterns are exactly identical (common after the opcode string
has been ripped off), and when the differing operand is a MachineInstr
operand that needs to be formatted.

The end result of this is a mean and lean generated AsmPrinter!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19759 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 19:22:23 +00:00
Chris Lattner
d648867173 Refactor code for numbering instructions into CodeGenTarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19758 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:58:51 +00:00
Jeff Cohen
615ed993e1 Fix VC++ compilation error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19757 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:50:10 +00:00
Chris Lattner
870c016934 Implement factoring of instruction pattern strings. In particular, instead of
emitting code like this:

  case PPC::ADD: O  << "add ";  printOperand(MI, 0, MVT::i64); O  << ", ";  prin
tOperand(MI, 1, MVT::i64); O  << ", ";  printOperand(MI, 2, MVT::i64); O  << '\n
'; break;
  case PPC::ADDC: O  << "addc ";  printOperand(MI, 0, MVT::i64); O  << ", ";  pr
intOperand(MI, 1, MVT::i64); O  << ", ";  printOperand(MI, 2, MVT::i64); O  << '
\n'; break;
  case PPC::ADDE: O  << "adde ";  printOperand(MI, 0, MVT::i64); O  << ", ";  pr
intOperand(MI, 1, MVT::i64); O  << ", ";  printOperand(MI, 2, MVT::i64); O  << '
\n'; break;
...

Emit code like this:

  case PPC::ADD:
  case PPC::ADDC:
  case PPC::ADDE:
  ...
    switch (MI->getOpcode()) {
    case PPC::ADD: O << "add "; break;
    case PPC::ADDC: O << "addc "; break;
    case PPC::ADDE: O << "adde "; break;
    ...
    }
    printOperand(MI, 0, MVT::i64);
    O << ", ";
    printOperand(MI, 1, MVT::i64);
    O << ", ";
    printOperand(MI, 2, MVT::i64);
    O << "\n";
    break;

This shrinks the PPC asm writer from 24785->15205 bytes (even though the new
asmwriter has much more whitespace than the old one), and the X86 printers shrink
quite a bit too.  The important implication of this is that GCC no longer hits swap
when building the PPC backend in optimized mode.  Thus this fixes PR448.

-Chris


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19755 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:38:13 +00:00
Chris Lattner
f11ad9ef46 Fix the ::: problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19754 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:18:59 +00:00
Chris Lattner
5765dba5ce Minor refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19753 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 17:40:38 +00:00
Chris Lattner
b0b55e74a0 Seperate asmstring parsing from emission. This allows the code to be simpler
and more understandable.  It also allows us to do simple things like fold
consequtive literal strings together.  For example, instead of emitting this
for the X86 backend:

  O  << "adc" << "l" << " ";

we now generate this:

  O << "adcl ";

*whoa* :)

This shrinks the X86 asmwriters from 62729->58267 and 65176->58644 bytes
for the intel/att asm writers respectively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19749 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 17:32:42 +00:00
Andrew Lenharth
2202bfa5a3 make double-dollar properly escape asmstrings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19740 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 00:35:22 +00:00
Reid Spencer
bd02b0a915 Fix the path from ../lib/Debug to ../Debug/lib per changes to Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19550 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-14 16:32:39 +00:00
Reid Spencer
39ce11b97b Update the documentation about -enable-llcbeta vs. -enable-linscan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19530 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-13 18:02:40 +00:00
Misha Brukman
9a6127504a Use and print out BuildStatus, we don't always have build errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19497 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-12 03:31:38 +00:00
Misha Brukman
2bbea35ce9 No need to repeat the word build' since it's under Build status'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19481 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-11 19:51:24 +00:00
Misha Brukman
7f5875a56a We don't always have build errors, so call it status', not error'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19479 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-11 18:27:16 +00:00
Chris Lattner
c82a6c883e rename linscan -> LLCBETA as it should be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19401 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 21:03:58 +00:00
Reid Spencer
6234582764 1. Make sure that "dot" can be found in the path
2. Fix a bug where the lib directory specified also had to be cwd
3. Weight the output so archive->archive edges are shorter
4. Generate two different graphs: one for libraries, one for objects.
5. Adjust the properties of the graphs till it looks nice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19293 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-05 17:29:29 +00:00
Chris Lattner
aad75aa1a2 Expose isConvertibleToThreeAddress and isCommutable bits to the code generator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19243 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 02:29:04 +00:00
Reid Spencer
b7e65b8a6a * Don't include weak definitions as a definition
* Make subordinate libraries presented with a vertical list instead of all
  listed on a single line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19196 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 23:13:12 +00:00
Reid Spencer
579b8de1c2 A Perl script to generate an HTML definition list containing the LLVM
library dependencies, for documentation purposes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19194 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 23:07:56 +00:00
Reid Spencer
932b69f4c7 Revert the last patch so that the LLVMGCCDIR environment variable is
still viable and will make use of the resurrected --with-llvmgccdir
configure option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19143 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-26 05:21:13 +00:00
Reid Spencer
1ac82ad26f Remove references to LLVMGCCDIR because it was only used to provide a
value for the --with-llvmgccdir configure option which is no longer
supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19135 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-24 06:32:54 +00:00
Tanya Lattner
a2dfbf96a9 Always print out DejagnuTest results to stdout so that it gets emailed to the nightly test manager. Eventually Dejagnu should be merged into the added/removed tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19023 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-17 20:58:34 +00:00
Chris Lattner
2fb645ac47 Portability fix, thanks to Markus F.X.J. Oberhumer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18977 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 04:56:34 +00:00
Chris Lattner
fed8a142e5 Use user time, not wall time, for optimizer time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18941 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-14 22:42:59 +00:00
Reid Spencer
15653afb5f For PR351:
* Change use of ReadFileIntoAddressSpace to sys::MappedFile use.
* Shorten a line > 80 chars.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18896 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 17:41:13 +00:00
Reid Spencer
2a3af750e7 For PR351: libLLVMSupport now depends on libLLVMSystem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18893 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 17:02:08 +00:00
Test Commit
b6a0d3595b Test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18687 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-09 05:46:48 +00:00
Reid Spencer
ead87b6712 For PR387:
Make this compile without warning when -Woverloaded-virtual is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18588 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-06 23:42:37 +00:00
Reid Spencer
51e615f5dd Revert previous changes to remove -enable-linscan and the *BETA columns of
the nightly test. These are still needed for iterative linear scan testing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18577 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-06 20:14:45 +00:00
Reid Spencer
2e4cdbfc5a Rather than break all the nightly test invocations, permit -enable-linscan
option to be specified, but do nothing with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18575 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-06 18:33:54 +00:00
Reid Spencer
c537224c00 Remove LLC-BETA and linear scan options as they are no longer reported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18574 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-06 18:29:14 +00:00
Reid Spencer
b8e825b1ad Print out something useful instead of a blank table when the external tests
are skipped by user option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18501 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04 22:18:28 +00:00
Chris Lattner
edcc6b1e06 Move the dejagnu section to immediately before the 'trends' section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18497 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04 20:18:21 +00:00
Chris Lattner
4b6b44c64e Remove last remnants of qmtest stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18496 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04 19:57:27 +00:00
Tanya Lattner
59a86555a4 Run dejagnu by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18490 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04 06:35:14 +00:00
Tanya Lattner
056ec06fee Removed QMTest functions. The nightly tester no longer runs qmtest. It now runs dejagnu by default and you must turn it off using -nodejagnu.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18489 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04 06:25:50 +00:00
John Criswell
68fa3ccf14 Removed QMTests as I will be zapping them soon.
I've done some testing, and this seems to work, but if people who use
the nightly tester regularly could spot check these changes, I'd be
appreciative.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18464 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-03 21:56:30 +00:00
Reid Spencer
fdd10b18f2 Make sure the timing output is also sent to the log file for dejagnu, not
the log file of the NightlyTest.pl script.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18158 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 16:23:50 +00:00
Chris Lattner
4fa5fa8f61 Change formats, as suggested by Duraid
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18150 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:51:14 +00:00
Tanya Lattner
882b8cd493 Moved dejagnu log link to the template.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18111 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 18:36:12 +00:00
Tanya Lattner
f35bdc18f6 Changed to catch stderror of dejagnu and fixed missing quote.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18105 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 17:16:01 +00:00
Tanya Lattner
794dae5687 Made dejagnu option lower case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18075 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21 00:10:12 +00:00
Tanya Lattner
5debe8c6db Added the ability to run Dejagnu tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18074 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21 00:02:40 +00:00
Reid Spencer
227b6d00dd Fix usage of changed function prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:30:54 +00:00
Misha Brukman
2e9ac69f8b * Add support for f2c and the -f2c switch to enable Fortran benchmarks
* Remove spurious spaces between variable names and `=' (they're not lined up
  anyway and there's no hope of doing that)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17611 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 03:28:27 +00:00
Chris Lattner
36dc5c7344 Adjust to printing user+system times instead of wall times. Run the olden
numbers in 'stable' mode so that the numbers are more stable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17525 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 21:35:40 +00:00
Chris Lattner
141e3fd81d Quiet VC++ warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17484 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:50:59 +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
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
Vikram S. Adve
65dea6e136 Print P and [AR] files on update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17337 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-29 17:43:19 +00:00
Reid Spencer
cd1e7dddd0 Fix the dependency of lex.o on gram.tab.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17320 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 16:48:13 +00:00
Reid Spencer
6cb21d443e Change Library Names Not To Conflict With Others When Installed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17286 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 23:18:45 +00:00
Chris Lattner
1fca5ff62b Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++.  Patch contributed by Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 16:14:51 +00:00
Reid Spencer
20ac4e3699 Add EXTRA_DIST for additional files to be distributed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17233 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-26 03:12:11 +00:00
Reid Spencer
151f8ba364 New Makefile Features:
* "dist" target now builds tar.gz, tar.bz2, and zip files suitable for
  distribution. "dist" can only be run from $(BUILD_OBJ_ROOT) and implies
  a "check".

* made the preconditions not do a recursive make and ensured that they are
  executed sequentially.

* made the messages output by the makefile be prefixed with "llvm" and the
  make level (e.g. llvm[1]: ) in the same way that make does so that the
  messages are uniform and more readable.

* Fixed the tags target so that tags depends on TAGS which contains the
  rules to build a file named TAGS

* Implemented the EXTRA_DIST feature in a few directories to make sure it
  works.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17210 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-25 08:27:37 +00:00
Chris Lattner
89e0f74094 Make VC happier, patch contributed by Morten Ofstad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17179 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 04:58:50 +00:00
Reid Spencer
99a401ceb1 Remove double colon rule for gram.tab.h so it doesn't conflict with the
auto-generated dependency rule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17171 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 23:05:46 +00:00
Reid Spencer
40a955ab05 We're not doing automake any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17168 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:02:23 +00:00
Reid Spencer
8c2c3152d6 Adjust to changes in Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17167 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:02:08 +00:00
Reid Spencer
cac731ecbe We won't use automake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:35:04 +00:00
Reid Spencer
86d341b204 Initial automake generated Makefile template
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 23:55:41 +00:00
Chris Lattner
4c554c589f Add support for undef and unreachable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16 18:24:35 +00:00
Misha Brukman
28eefa5464 * Factor out (into new fn) a loop emitting operand shifts into the instruction
* Reverse instruction bit components for a LittleEndian-style encoding
* Fix some comments and spacing


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16975 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 05:53:01 +00:00
Misha Brukman
35e83cc970 * Add option to read isLittleEndianEncoding for InstrInfo classes
* Doxygen-ify some function comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16974 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 05:50:43 +00:00
Chris Lattner
4523709d8e Patch to make VS happier, thanks to Morten Ofstad for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16956 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 15:25:46 +00:00
Reid Spencer
36a7d906c3 Updates for changes in Makefile rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16951 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 11:48:50 +00:00
Chris Lattner
9d990a01a9 Don't emit the method into the llvm namespace, let the #includer decide where it goes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16934 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 16:21:18 +00:00
Reid Spencer
3b7784dd93 Initial version of automake Makefile.am file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16888 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 22:07:57 +00:00
Reid Spencer
9f41a5fe85 Initial version of automake Makefile.am file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16885 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 20:43:57 +00:00
Reid Spencer
83e9193d37 Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16844 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-08 18:01:31 +00:00
Reid Spencer
761e41b237 Make it so that positional parameters can have spaces in them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16843 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-08 17:59:29 +00:00
Misha Brukman
cf4f810372 Properly `quote' names, and don't forget to add the ending quote!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16838 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-08 14:59:05 +00:00
Misha Brukman
ef7dd4637b Fix usage description typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16831 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-08 01:11:15 +00:00
Misha Brukman
3326305f42 Make comment header span the entire line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16830 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-08 01:10:52 +00:00
Reid Spencer
054defa746 Make these scripts work on SunOS too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16805 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 16:03:21 +00:00
Chris Lattner
953c6fe112 Correctly parse variant notation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16637 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-03 20:19:02 +00:00
Chris Lattner
560a79f1ea Add initial support for variants. This just parses the new format, no
functionality is added


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16636 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-03 19:34:31 +00:00
Misha Brukman
231684adb4 #include DataTypes.h to compile on MinGW, patch by Henrik Bach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16616 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30 18:27:39 +00:00
Misha Brukman
7f12bbbc92 * Add `deplibs' keyword for specifying a list of dependent libraries
* Convert tabs to spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16558 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 21:46:18 +00:00
Misha Brukman
137c8fb8ba Add `deplibs' keyword for specifying a list of dependent libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16557 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 21:45:54 +00:00
Nate Begeman
cdd66b524f Add support for the isLoad and isStore flags, needed by the instruction scheduler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16554 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 21:01:45 +00:00
Chris Lattner
5b71d3af35 Turn the hasDelaySlot flag into the M_DELAY_SLOT_FLAG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16553 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 18:38:01 +00:00
Brian Gaeke
90c82b9322 Touch output files before reading or writing them, so that they are
always guaranteed to exist. This fixes PR444. Thanks to Alkis
for reporting the bug and testing the patch.
AddRecord used to return a big list, but that return value was never
used. So now it doesn't return anything.
Create the WebDir if it does not exist.
Fix a typo in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16541 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 16:04:00 +00:00
Reid Spencer
181e65dff1 Documentation upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16445 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 08:09:36 +00:00
Reid Spencer
9610fc901a Finish the documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16444 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 08:04:13 +00:00
Reid Spencer
33709e53e4 Tighten up the specification of what counts as a code file. The previous
specification was too liberal in some areas and missing things in others.
This specification is based on the actual extensions found in the source
tree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16443 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 08:00:09 +00:00
Reid Spencer
b27b78f6a4 Base the implementation on the llvmdo script so that we only have to
maintain the logic for "what counts as a source file" in one place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16442 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 07:22:23 +00:00
Reid Spencer
8141e37109 Fixed to actually work correctly and be the basis for other tools by
allowing the set of directories searched to be specified either by the
LLVMDO_DIRS env var or by the -dirs "dirs..." command line option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 07:21:19 +00:00
Chris Lattner
2ac3f19e90 Don't count .lo files :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16439 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 05:01:04 +00:00
Chris Lattner
60ec2655bb Don't include libtool "object" files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 04:40:46 +00:00
Chris Lattner
b228657acc Revamp the Register class, and allow the use of the RegisterGroup class to
specify aliases directly in register definitions.

Patch contributed by Jason Eckhardt!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16330 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 04:17:02 +00:00
Reid Spencer
e993f46de9 Modify the lines of code counting mechanism to use the new "countloc.sh"
utility. This avoids some problems with long line lengths and counting the
wrong things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16200 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 19:32:55 +00:00
Reid Spencer
65e731d99a Added a tool to more accurately count the lines of code. The previous
utility, getsrcs.sh suffered from two problems: (1) it generated command
lines too long for some platforms and (2) it searched the projects diretory
which now contains the llvm-test module (in nightly tester) but we don't
want to include the test code in our LOC calculation. This script should
be maintained as LLVM adds new top level directories that contain source
code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16199 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 19:06:27 +00:00
Reid Spencer
214c6d64b1 Remove double paren use in system() function so that the command line can
be correctly interpreted by non-bash shells.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16194 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 20:57:22 +00:00
Reid Spencer
10ffe0134d Make the NightlyTest run tests out of projects/llvm-test instead of
llvm/test/Programs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16181 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 07:58:10 +00:00
Reid Spencer
40b062fdf8 Clean up some "clean:" targets so they use $(VERB) and don't print anything
by default, like every other "clean" target in LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:19:53 +00:00
Reid Spencer
23f7d5131c Make tblgen's exception handling a little more robust by printing the
program name and also catching ...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:17:54 +00:00
Reid Spencer
551ccae044 Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00