Commit Graph

1254 Commits

Author SHA1 Message Date
Chris Lattner
4e3c8e516f Remove my previous ugly hack that tries to reduce the stack space usage
of SelectCode to make way for a better solution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25068 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-03 22:55:16 +00:00
Duraid Madina
d47ae09dab HP-UX DVDs are crunchy and good to eat
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25052 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-30 16:41:48 +00:00
Duraid Madina
42d24c71df almost got the HP-UX tester up.. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25051 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-30 14:56:37 +00:00
Nate Begeman
b73628b5ab Add support for generating v4i32 altivec code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25046 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-30 00:12:56 +00:00
Duraid Madina
12f7578214 This gets most of the backends building with HP HappyC++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25029 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-27 10:56:22 +00:00
Evan Cheng
2b4ea795a2 Added field noResults to Instruction.
Currently tblgen cannot tell which operands in the operand list are results so
it assumes the first one is a result. This is bad. Ideally we would fix this
by separating results from inputs, e.g. (res R32:$dst),
(ops R32:$src1, R32:$src2). But that's a more distruptive change. Adding
'let noResults = 1' is the workaround to tell tblgen that the instruction does
not produces a result. It works for now since tblgen does not support
instructions which produce multiple results.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25017 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-26 09:11:45 +00:00
Duraid Madina
6fb9a84e79 more standards-compliance stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25014 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-26 05:08:55 +00:00
Andrew Lenharth
330851a8f6 support targetexternalsym
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25005 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-24 23:36:59 +00:00
Evan Cheng
7b05bd5814 * Support for hasInFlag and hasOutFlag (on instructions). Remove nameless FLAG
support which is fragile.
* Fixed a number of bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24996 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-23 22:11:47 +00:00
Chris Lattner
7a8054f5f2 silence some bogus gcc warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24962 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22 20:37:36 +00:00
Evan Cheng
3a217f3e53 Attempt to fix a crash on WIN32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24936 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22 02:35:21 +00:00
Evan Cheng
9793888be8 * Added support for FLAG - a special nameless flag register. Can be used as
either an operand or a result.
* Fixed some more flag / chain bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24933 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22 02:24:50 +00:00
Evan Cheng
87bddeb2af Allows instructions which no explicit operands. e.g. X86 RET which has but
an implicit flag operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24916 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-21 20:20:49 +00:00
Chris Lattner
4e6a1d2433 Eliminate some GCC warnings from the generated code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24897 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-21 05:31:05 +00:00
Evan Cheng
5fb5e10cdc Fix the semantic of Requires<[cond]> to mean if (!cond) goto PXXFail;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24883 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-20 20:08:01 +00:00
Chris Lattner
2f0f9a6973 This ugly patch works around a GCC bug where it is compiling SelectCode to
use too much stack space, overflowing the stack for large functions.  Instead
of emitting new SDOperands in each match block, we emit some common ones at
the top of SelectCode then reuse them when possible.

This reduces the stack size of SelectCode from 28K to 21K.  Note that GCC
compiles it to 512 bytes :-/

I've filed GCC PR 25505 to track this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24882 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-20 19:41:03 +00:00
Evan Cheng
4fba28116c Now support instructions with implicit write to non-flag registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24878 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-20 07:37:41 +00:00
Patrick Meredith
dae87b6536 Added a break that I meant to include originally, for efficiency. Basically
it keeps it from trying to add the same node to the node set
over and over if it matches multiple given patterns.  Also in cases where there
are a lot of patterns to be matched, and it matches an early one, this
will make the script run slightly faster.  It's more there because it logically
should be, than anything else, I mean, Python is never going to be fast ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24876 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-20 02:03:23 +00:00
Evan Cheng
e08705134f Lefted out a fix in the previous check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24873 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-20 00:06:17 +00:00
Evan Cheng
f9fc25db32 Fix another bug related to chain / flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24868 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-19 22:40:04 +00:00
Evan Cheng
1b80f4d2c6 Fixes for a number of bugs: save flag results in CodeGenMap, folded chains
may not all have ResNo == 0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24858 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-19 07:18:51 +00:00
Patrick Meredith
7e1cf1c8f4 This is a script to extract nodes and edges associated with those nodes
from a dot file that is the output of DSA.  Nodes to extract
are specified by giving the name of the node seen in the graphical
representation, i.e. in the .ps if the node is specified %xyz
asking for just x, xy, or xyz will retain it in the output file.
Because it operates on substrings underspecifying may result
in additional unexpected nodes.  Be as specific as possible.
Obviously, however, if you ask for %xyz and there is a
getelementptr of %xyz you will get both nodes.  Some manual
editing may still be necessary because of this, but this script
can pare down 10,000 line files to 20 line files, making like easier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24851 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-19 01:23:31 +00:00
Chris Lattner
5216c698de Handle basic block nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24833 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-18 21:05:44 +00:00
Chris Lattner
dc464de9b0 More fixes for Selection of copyto/fromreg with a flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24829 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-18 15:45:51 +00:00
Chris Lattner
755dd09815 Select copytoreg and copyfromreg nodes that have flag operands correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24827 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-18 15:28:25 +00:00
Evan Cheng
bcecf33dc2 Support for read / write from explicit registers with FlagVT type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24753 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-17 01:19:28 +00:00
Evan Cheng
58e84a69f5 Added support to specify predicates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24715 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-14 22:02:59 +00:00
Evan Cheng
01f318bfca Skip over srcvalue nodes when generating ISEL code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24704 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-14 02:21:57 +00:00
Evan Cheng
0e65b27e28 Bug fix: CodeGenMap[N] = ... -> CodeGenMap[N.getValue(0)] = ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24680 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-12 23:45:21 +00:00
Evan Cheng
481c8e0501 At top of generated isel SelectCode() is this:
if (!N.Val->hasOneUse()) {
    std::map<SDOperand, SDOperand>::iterator CGMI = CodeGenMap.find(N);
    if (CGMI != CodeGenMap.end()) return CGMI->second;
  }

Suppose a DAG like this:

           X
         ^   ^
        /     \
      USE1    USE2

Suppose USE1 is being selected first and during which X is selected and
returned a new node. After this, USE1 is no longer an use of X. During USE2
selection, X will be selected again since it has only one use!

The fix is to always query CodeGenMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24679 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-12 23:22:48 +00:00
Evan Cheng
8621789fcc Bug fix: finding the correct incoming chain for pattern with nested src operand. And a minor change to make output code slightly more readible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24669 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-12 19:37:43 +00:00
Chris Lattner
0831310441 Send an indicator to llvm-testresults if the build failed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24665 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-11 19:55:39 +00:00
Nate Begeman
28a6b02626 Add support for TargetConstantPool nodes to the dag isel emitter, and use
them in the PPC backend, to simplify some logic out of Select and
SelectAddr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24657 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-10 02:36:00 +00:00
Evan Cheng
ba7fa0b5d4 Stop emitting a redudant type check for complex pattern node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24655 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-10 01:57:33 +00:00
Evan Cheng
1129e87ff4 For instructions which produce no result, e.g. store, chain's Resno == 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24652 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-10 00:09:17 +00:00
Chris Lattner
5b21be76e1 Add a new SDTCisPtrTy constraint, which indicates that an operand must have
the same type as the pointer type for a target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24649 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-09 22:57:42 +00:00
Evan Cheng
b915f3110d * Do not allow nodes which produce chain results (e.g. loads) to be folded if
it has more than one real use (non-chain uses).
* Record folded chain producing node in CodeGenMap.
* Do not fold a chain producing node if it has already been selected as an
  operand of a chain use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24647 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-09 22:45:35 +00:00
Evan Cheng
cbc09c8eaa Prevent folding of instructions which produce chains that have more than 1 real use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24643 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-09 06:06:08 +00:00
Evan Cheng
c45146ace5 * Make sure complex pattern operands are selected first since their select
functions can return false and causing the instruction pattern match to fail.
* Code clean up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24642 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-09 00:48:42 +00:00
Evan Cheng
3aa39f439a * Added an explicit type field to ComplexPattern.
* Renamed MatchingNodes to RootNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24636 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-08 02:14:08 +00:00
Evan Cheng
0fc7198890 Added support for ComplexPattern. These are patterns that require C++ pattern
matching code that is not currently auto-generated by tblgen, e.g. X86
addressing mode. Selection routines for complex patterns can return multiple operands, e.g. X86 addressing mode returns 4.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24634 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-08 02:00:36 +00:00
Evan Cheng
dd304dd4bd * Infer instruction property hasCtrlDep from pattern if it has one.
* Fixed a bug related to hasCtrlDep property use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24610 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-05 23:08:55 +00:00
Chris Lattner
22faeabb3a Implement PR673: for explicit register references, use type information
if available


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24597 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-05 02:36:37 +00:00
Chris Lattner
5c4736a3da Add some methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24596 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-05 02:35:08 +00:00
Chris Lattner
7292c5ee32 Generate code to silence bogus GCC warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24593 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-05 00:48:51 +00:00
Evan Cheng
1c3d19eb15 * Commit the fix (by Chris) for a tblgen type inferencing bug.
* Enhanced tblgen to handle instructions which have chain operand and writes a
chain result.
* Enhanced tblgen to handle instructions which produces no results. Part of
the change is a temporary hack which relies on instruction property (e.g.
isReturn, isBranch). The proper fix would be to change the .td syntax to
separate results dag from ops dag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24587 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-04 08:18:16 +00:00
Nate Begeman
6510b22cec Support multiple ValueTypes per RegisterClass, needed for upcoming vector
work.  This change has no effect on generated code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24563 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-01 04:51:06 +00:00
Evan Cheng
66a48bbc35 Teach tblgen to accept register source operands in patterns, e.g.
def SHL8rCL  : I<0xD2, MRM4r, (ops R8 :$dst, R8 :$src),
                 "shl{b} {%cl, $dst|$dst, %CL}",
                 [(set R8:$dst, (shl R8:$src, CL))]>, Imp<[CL],[]>;

This generates a CopyToReg operand and added its 2nd result to the shl as
a flag operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24557 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-01 00:18:45 +00:00
Nate Begeman
86193d1190 Nuke CodeGenInstruction's ValueType member, it is no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24556 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-01 00:12:04 +00:00
Nate Begeman
ddb395463c Stop checking the ValueType of the CodeGenInstruction. Instead, use the
ValueType from the RegisterClass or Operands.  This step is necessary to
allow RegisterClasses to have multiple ValueTypes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24555 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-01 00:06:14 +00:00
Nate Begeman
8ef9d16d39 fit into 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24554 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-30 23:58:18 +00:00
Chris Lattner
5d28ffdfec Make the code generated by tblgen return the result of SelectNodeTo, to
permit future changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24553 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-30 23:08:45 +00:00
Nate Begeman
391c5d231a No longer track value types for asm printer operands, and remove them as
an argument to every operand printing function.  Requires some slight
tweaks to x86, the only user.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24541 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-30 18:54:35 +00:00
Nate Begeman
004a833ab8 Fix some copy and paste typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24540 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-30 18:37:14 +00:00
Evan Cheng
76021f010b Better error message when unrecognized opcode is seen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24519 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-29 18:44:58 +00:00
Nate Begeman
02fc8ff800 Add the new vector types to tablegen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24514 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-29 06:19:38 +00:00
Chris Lattner
3367079b0b Initialize this variable on all paths, fixing a crasher in windows. Thanks
to JeffC for pointing this out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24426 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-19 07:48:33 +00:00
Chris Lattner
65303d6bd7 Teach tblgen about instruction operands that have multiple MachineInstr
operands, digging into them to find register values (used on X86).  Patch
by Evan Cheng!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24424 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-19 07:05:57 +00:00
Chris Lattner
09c033962b Validate that the input to 'Pat' patterns is sane.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24393 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-17 17:43:52 +00:00
Chris Lattner
b120a64e13 teach tblgen to be smart enough to handle tglobaladdr nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24391 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-17 07:39:45 +00:00
Chris Lattner
12cf9090a4 fix a tblgen bug that Evan ran into, where we would lose the '$src' name
on patterns like "(set R32:$dst, (i32 imm:$src))"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24383 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-16 23:14:54 +00:00
Chris Lattner
811da6d889 remove these labels, there are now bigger jumps in the graph that are unlabeled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24365 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-15 06:44:15 +00:00
Jim Laskey
7f39c14f52 1. Remove ranges from itinerary data.
2. Tidy up the subtarget emittined code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24172 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-03 22:47:41 +00:00
Chris Lattner
465c737467 Reject integer literals that are out of range for their type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24162 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-03 05:46:11 +00:00
Chris Lattner
0614b628cf Add support for immediates directly in the pattern, this allows itanium to
define:

def : Pat<(i1 1), (CMPEQ r0, r0)>;


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24149 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-02 06:49:14 +00:00
Jim Laskey
6cee630070 Allow itineraries to be passed through the Target Machine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24139 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-01 20:06:59 +00:00
Jeff Cohen
cb366d980a Keep VC++ happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24137 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-01 18:04:06 +00:00
Chris Lattner
b0ddb49419 Let people who run the nightly tester specify paths to external tests, instead
of having to hack the nightly tester script itself.

as an example, I use the following for my machine:

$HOME/llvm/utils/NightlyTest.pl -parallel -release -enable-llcbeta \
     -spec2000path /Volumes/ProjectsDisk/cvs/benchmarks/speccpu2000-llvm/benchspec/ \
     -povraypath /Volumes/ProjectsDisk/cvs/benchmarks/povray31 \
     -namdpath /Volumes/ProjectsDisk/cvs/benchmarks/namd


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24136 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-01 17:59:42 +00:00
Jim Laskey
b5a0c0ee05 Emit itinerary class in instruction info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24122 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-31 17:16:46 +00:00
Jim Laskey
10b1dd99f3 Generate cpu to itinerary map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24121 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-31 17:16:01 +00:00
Chris Lattner
4734630576 Revert an accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24098 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-29 17:01:41 +00:00
Chris Lattner
9d1a02345c Make negative immediates in patterns work correctly, silence some warnings
building the itanium backend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24095 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-29 16:39:40 +00:00
Chris Lattner
366080c5e6 Switch more code over to using getValueAsListOfDefs. Look at all the -'s. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24074 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 22:59:53 +00:00
Chris Lattner
b0e103d46b Rename Record::getValueAsListDef to getValueAsListOfDefs, to more accurately
reflect what it is.
Convert some more code over to use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24072 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 22:49:02 +00:00
Chris Lattner
6bc0d742c2 Use the new interface Jim added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24071 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 22:43:25 +00:00
Jim Laskey
f7bcde0854 Removed Mr. Smith from the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24070 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 21:47:29 +00:00
Jim Laskey
fd306bfdd2 Added method to return a vector of records for a ListInit of Def field. This
simplifies using list of records.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24069 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 21:46:31 +00:00
Chris Lattner
e50caac6b0 The nightly tester report doesn't report JIT code size anymore, remove it
from the olden graph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24057 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 16:35:18 +00:00
Jim Laskey
908ae27a90 Add some commentary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24055 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 15:20:43 +00:00
Jeff Cohen
9489c04efc Keep Visual Studio happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24052 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-28 01:43:09 +00:00
Jim Laskey
0d841e0567 Now generating instruction itineraries for scheduling. Not my best work, but...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24050 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-27 19:47:21 +00:00
Jim Laskey
6c302fc075 Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24015 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 17:49:21 +00:00
Jim Laskey
581a8f79bc Give full control of subtarget features over to table generated code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24013 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 17:30:34 +00:00
Chris Lattner
a7ad198f89 Condcodes are in the ISD namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24010 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 17:02:02 +00:00
Chris Lattner
1531f2025c Add support for CondCode's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24008 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 16:59:37 +00:00
Chris Lattner
f071bb5b87 Emit some boilerplate for targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23983 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-25 20:35:14 +00:00
Jim Laskey
b3b1d5f097 Refactored to make room for more stuff (scheduling info.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23975 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-25 15:16:36 +00:00
Chris Lattner
dc93efe30e Fix an incompatibility with GCC 4.1, thanks to Vladimir Merzliakov
for pointing this out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23963 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 15:04:15 +00:00
Chris Lattner
d4d0797851 Add the needed #include, emit enums with the sizes of tables, remove
definitions from the LLVM namespace, since they are all static.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23907 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:33:08 +00:00
Chris Lattner
2dc74dd831 Remove the obsolete instr selector emitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23894 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 05:47:52 +00:00
Jim Laskey
7dc02047fb Sort the features and processor lists for the sake of search (and maintainers.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23879 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 07:59:56 +00:00
Jim Laskey
f5fc2cbd6b Plugin new subtarget backend into the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23870 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 19:05:19 +00:00
Jim Laskey
4bb9cbb730 New TableGen backends for subtarget information. Only command line stuff
active now.  Scheduling itinerary next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23869 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 19:00:04 +00:00
Chris Lattner
edbd8711de Make tblgen emit:
tblgen: In ZAPNOTi: Cannot use 'IZAPX' in an input pattern!
for a bad pattern, instead of an ugly assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23854 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 01:19:59 +00:00
Chris Lattner
2f041d49a9 add support for literal immediates in patterns to match, allowing us to
write things like this:

def : Pat<(add GPRC:$in, 12),
          (ADD12 GPRC:$in)>;

Andrew: if this isn't enough or doesn't work for you, please lemme know.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23819 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19 04:41:05 +00:00
Chris Lattner
5d5a056092 Add basic support for integer constants in pattern results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23817 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19 04:30:56 +00:00
Chris Lattner
2ac8510d68 Fix some checking that was causing duraid to get a perplexing assertion
instead of a happy error message


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23816 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19 04:12:14 +00:00
Chris Lattner
4c59309f59 Add support for patterns that have physical registers in them. Testcase:
def : Pat<(trunc G8RC:$in),
          (OR8To4 G8RC:$in, X0)>;

Even though this doesn't make any sense on PPC :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23815 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19 02:07:26 +00:00
Chris Lattner
ab1bf27be5 Asserting here is to violent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23814 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19 01:55:23 +00:00
Chris Lattner
0c0cfa741f Nate wants to define 'Pat's which turn into instructions that don't have
patterns.  Certainly a logical request.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23810 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19 01:27:22 +00:00
Chris Lattner
b277cbc087 Duraid pointed out that it is impolite to emit PPC:: into the IA64 backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23780 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18 04:41:01 +00:00
Chris Lattner
5024d93c8b Make the generated code significantly more memory efficient, by using
SelectNodeTo instead of getTargetNode when possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23758 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-16 01:41:58 +00:00
Chris Lattner
7e82f1322c Implement the last major missing piece in the DAG isel generator: when emitting
a pattern match, make sure to emit the (minimal number of) type checks that
verify the pattern matches this specific instruction.  This allows FMA32
patterns to not match double expressions for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23748 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-15 21:34:21 +00:00
Chris Lattner
603d78c9de Now that we have int/fp lattice values, implement the SDTCisOpSmallerThanOp
type constraint.  This lets tblgen realize that it doesn't need any dynamic
type checks for fextend/fround on PPC (and many other targets), because there
are only two fp types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23730 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 06:25:00 +00:00
Chris Lattner
3c7e18d690 Fairly serious rework of the typing code to add new int/fp lattice values.
Overall, no functionality change yet though.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23729 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 06:12:03 +00:00
Chris Lattner
e0583b1b92 simplify the code a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23728 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 05:08:37 +00:00
Chris Lattner
03ebd802c7 Add basic support for recognizing a new SDTCisOpSmallerThanOp type constraint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23725 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 04:53:53 +00:00
Chris Lattner
0ee7cff4fb Implement a couple of new (important) features.
1. If an operation has to be int or fp and the target only supports one
   int or fp type, relize that the op has to have that type.
2. If a target has operations on multiple types, do not emit matching code
   for patterns involving those operators, since we do not emit the code to
   check for them yet.  This prevents PPC from generating FP ops currently.

Also move some code around into more logical places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23724 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 04:11:13 +00:00
Chris Lattner
75ee2eb4e2 Do not let getLegalValueTypes return a list with duplicates in it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23723 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 03:54:49 +00:00
Patrick Meredith
d223f5ee78 Updated to be less restrictive on what is matched
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23712 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-13 17:31:30 +00:00
Chris Lattner
e08fe8d7e5 apparently one of the makefile changes changed libprofile.so to profile.so
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23709 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-13 16:34:24 +00:00
Patrick Meredith
b89dd23b43 This script is used to remove nodes with the label %tmp(.#)* and all
edges associated with said node from the dot files produced by
DSA.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23708 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-13 16:26:50 +00:00
Chris Lattner
80bec12f96 put the right labels on the data
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23599 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-02 21:51:38 +00:00
Chris Lattner
4b2e5a680f Emit the value type for each register class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23584 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-02 06:23:37 +00:00
Chris Lattner
0f21fd5204 Rename MRegisterDesc -> TargetRegisterDesc for consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23564 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 17:49:27 +00:00
Chris Lattner
22842105de remove some more initializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23562 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 17:41:05 +00:00
Chris Lattner
2f02ed9a1f trim down the target info structs now that we have a preferred spill register class for each callee save register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23560 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 17:35:22 +00:00
Chris Lattner
4794797f12 Compute a preferred spill register class for each callee-save register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23553 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 06:44:45 +00:00
Chris Lattner
88b7e6e304 Fix a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23550 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 06:09:50 +00:00
Chris Lattner
946ac939c6 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23549 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 04:53:25 +00:00
Chris Lattner
c3bec0e401 Refactor this a bit to move ParsingTemplateArgs to only apply to classes,
not defs.

Implement support for forward definitions of classes.  This implements
TableGen/ForwardRef.td.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23548 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 04:53:04 +00:00
Chris Lattner
0a28405089 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23546 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 04:42:56 +00:00
Chris Lattner
583a0249b6 Generate a parse error instead of a checked exception if template args are
used on a def.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23545 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 04:42:31 +00:00
Chris Lattner
8d354e901f regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23543 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 04:11:27 +00:00
Chris Lattner
be88b50c01 Refactor the grammar a bit to implement TableGen/ForwardRef.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23542 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 04:10:49 +00:00
Chris Lattner
0d0b73e9f8 allow regs to be in multiple reg classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23540 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 01:33:48 +00:00
Chris Lattner
af302914d1 Teach tablegen to reassociate operators when possible. This allows it to
find all of teh pattern matches for EQV from one definition


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23529 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-29 22:36:54 +00:00
Chris Lattner
e46e17b7fb Teach tblgen to build permutations of instructions, so that the target author
doesn't have to specify them manually.  It currently handles associativity,
e.g. knowing that (X*Y)+Z  also matches  X+(Y*Z)  and will be extended in
the future.

It is smart enough to not introduce duplicate patterns or patterns that can
never match.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23526 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-29 19:28:10 +00:00
Chris Lattner
7cf2fe6c48 add support for an associative marker
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23502 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-28 20:58:06 +00:00
Chris Lattner
e97603f1bd Emit an error if instructions or patterns are defined but can never match.
Currently we check that immediate values live on the RHS of commutative
operators.  Defining ORI like this, for example:

def ORI   : DForm_4<24, (ops GPRC:$dst, GPRC:$src1, u16imm:$src2),
                    "ori $dst, $src1, $src2",
                    [(set GPRC:$dst, (or immZExt16:$src2, GPRC:$src1))]>;

results in:

tblgen: In ORI: Instruction can never match: Immediate values must be on the RHS of commutative operators!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23501 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-28 19:27:25 +00:00
Chris Lattner
a1a68ae061 collect commutativity information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23499 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-28 18:28:29 +00:00
Chris Lattner
05814af29f Prefer cheaper patterns to more expensive ones. Print the costs to the generated
file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23492 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-28 17:57:56 +00:00
Chris Lattner
f6f9416363 Select Constant nodes to TargetConstant nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23488 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-28 16:58:06 +00:00
Chris Lattner
fab3728801 memoize the assert results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23457 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-26 22:10:24 +00:00
Chris Lattner
3748147aaf Emit the switch stmt cases in alphabetical order instead of pointer order,
which is not stable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23456 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-26 21:59:35 +00:00
Chris Lattner
6bc7e513d5 implement a fixme: only select values once, even if used multiple times.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23454 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-26 21:53:26 +00:00
Jeff Cohen
a48283baa3 Fix VC++ build errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23431 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-25 19:04:43 +00:00
Chris Lattner
296dfe3b8a memoize translations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23419 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-24 00:50:51 +00:00
Chris Lattner
72fe91c4dd Teach the DAG isel generator to emit code that creates nodes.
Fix a few corner cases parsing things like (i32 imm:$foo)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23417 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-24 00:40:24 +00:00
Chris Lattner
8fc3568d98 Emit better code (no more copies for var references), and support DAG patterns
(e.g. things like rotates).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23416 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 23:16:51 +00:00
Chris Lattner
547394ca38 Fix a fixme by passing around SDOperand's instead of SDNode*'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23415 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 21:53:45 +00:00
Chris Lattner
d1ff35a49d Emit code that matches the incoming DAG pattern and checks predicates.
This does not check that types match yet, but PPC only has one integer type
;-).

This also doesn't have the code to build the resultant dag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23414 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 21:33:23 +00:00
Chris Lattner
3f7e91477e emit information about the order patterns are to be matched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23413 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 20:52:47 +00:00
Chris Lattner
813033248c start filling in the switch stmt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23412 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 19:36:15 +00:00
Chris Lattner
b9f01eb7bc Fix a minor bug, add comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23370 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-16 00:29:46 +00:00
Chris Lattner
a28aec1da7 teach the type inference code how to infer types for instructions and node
xforms.  Run type inference on result patterns, so we always have fully typed
results (and to catch errors in .td files).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23369 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-15 22:23:50 +00:00
Chris Lattner
ae5b350b3b put instructions into a map instead of a vector for quick lookup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23368 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-15 21:57:35 +00:00
Chris Lattner
ae6d828de8 when parsing instructions remember information about the types taken and
returned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23367 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-15 21:51:12 +00:00
Chris Lattner
abbb605d80 Start parsing "Pattern" nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23365 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-15 21:42:00 +00:00
Chris Lattner
b39e4be1e1 rename a couple of methods, add structure for pattern parsing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23364 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-15 02:38:02 +00:00
Chris Lattner
f1311843d5 Verify that xform functions only occur in logical places
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23363 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 23:05:13 +00:00
Chris Lattner
2175c18c4f Promote xform fns to be explicit nodes in result patterns, and clean off
predicates since they will have already matched at this point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23362 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 23:01:59 +00:00
Chris Lattner
b0276200e6 start building the instruction dest pattern correctly. Change the xform
functions to preserve the Record for the xform instead of making it into a
function name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23361 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 22:55:26 +00:00
Chris Lattner
7da852fbab catch unnamed inputs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23360 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 22:06:36 +00:00
Chris Lattner
0b59225fe1 check that there are no unexpected operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23359 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 21:59:34 +00:00
Chris Lattner
c4a8b73ab3 force all instruction operands to be named.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23358 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 21:13:50 +00:00
Chris Lattner
5d7d3dba9c Check that operands have unique names. REJECT instructions with broken operand
lists: only don't parse them if they are entirely missing (sparcv9).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23355 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 21:05:02 +00:00
Chris Lattner
3a7319d5ed fix a broke range check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23354 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 21:04:12 +00:00
Chris Lattner
d8a3bde6fd Parse significantly more of the instruction pattern, now collecting and
verifying information about the operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23353 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 20:53:42 +00:00
Chris Lattner
39e8af9913 Verify that set destinations occur first in the instruction operand list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23351 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 18:19:25 +00:00
Chris Lattner
a974b20cae add an accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23349 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 18:02:53 +00:00
Chris Lattner
71cdb7fc7a remove some code that isn't ready for prime time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23346 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 06:03:10 +00:00
Chris Lattner
ec67643e86 Switch to a slightly more structured representation for instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23345 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 04:03:16 +00:00
Chris Lattner
5f8cb2a28a Add some more checking/verification code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23344 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 02:11:12 +00:00
Chris Lattner
1f39e2910b start parsing instructions into patterns, start doing many more checks of
'set's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23343 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-14 00:09:24 +00:00
Chris Lattner
f4f33ba518 don't emit the namespace inside the class!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23341 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-13 22:05:02 +00:00
Chris Lattner
1048b7a67e Emit code suitable for emission into the ISel class, allowing us to use/define
methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23340 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-13 22:03:37 +00:00
Chris Lattner
6de8b53230 continue xform function parsing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23338 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-13 21:59:15 +00:00
Chris Lattner
24eeeb8c3e Start parsing node transformation information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23337 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-13 21:51:00 +00:00
Chris Lattner
8f493130bb Add a new Record::getValueAsCode method to mirror the other getValueAs*
methods.  Use it to simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23336 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-13 21:44:28 +00:00
Chris Lattner
ee9f0c3c2e completely eliminate TreePattern::PatternType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23335 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-13 21:20:49 +00:00
Chris Lattner
2b931e8035 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23311 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-12 05:30:06 +00:00
Chris Lattner
2fc4f120c6 Rearrange two rules, which apparently makes some versions of bison happier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23310 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-12 05:29:43 +00:00
Jeff Cohen
8337b0797b Fix miscellaneous Visual Studio build problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23307 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-10 02:00:02 +00:00
Chris Lattner
3793709e89 add an accessor to provide more checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23289 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-09 01:15:01 +00:00
Chris Lattner
f2a17a70f4 use new accessors to simplify code. Add checking to make sure top-level instr
definitions are void


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23288 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-09 01:11:44 +00:00
Chris Lattner
2018005096 add some accessors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23287 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-09 01:11:17 +00:00
Chris Lattner
95f6b76817 Fix incorrect comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23285 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 23:26:30 +00:00
Chris Lattner
327076005d Implement a complete type inference system for dag patterns, based on the
constraints defined in the DAG node definitions in the .td files.  This
allows us to infer (and check!) the types for all nodes in the current
ppc .td file.  For example, instead of:

Inst pattern EQV:       (set GPRC:i32:$rT, (xor (xor GPRC:i32:$rA, GPRC:i32:$rB), (imm)<<Predicate_immAllOnes>>))

we now fully infer:

Inst pattern EQV:       (set:void GPRC:i32:$rT, (xor:i32 (xor:i32 GPRC:i32:$rA, GPRC:i32:$rB), (imm:i32)<<Predicate_immAllOnes>>))

from:  (set GPRC:$rT, (not (xor GPRC:$rA, GPRC:$rB)))


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23284 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 23:22:48 +00:00
Chris Lattner
e9f4ba8dd4 Compute the value types that are natively supported by a target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23282 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 21:43:21 +00:00
Chris Lattner
33c92e9296 Parse information about type constraints on SDNodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23281 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 21:27:15 +00:00
Chris Lattner
6af14a629d use node info in the one place we currently use it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23280 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 21:04:46 +00:00
Chris Lattner
ca559d0654 start parsing SDNode info records
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23279 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 21:03:01 +00:00
Chris Lattner
751eabf7bd Fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23276 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 19:47:28 +00:00
Chris Lattner
ca572be3a1 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23275 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 18:48:47 +00:00
Chris Lattner
a1207a5add Add support for automatically created anonymous definitions.
This implements Regression/TableGen/AnonDefinitionOnDemand.td


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23274 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 18:48:23 +00:00
Chris Lattner
ba4b144764 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23271 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 18:22:57 +00:00
Chris Lattner
69b545e877 Tabs to spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23270 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 18:22:35 +00:00
Chris Lattner
fbf8e57639 Keep names even when inlining. This allows us to realize that ADDI is:
(set GPRC:i32:$rD, (add GPRC:i32:$rA, (imm)<<Predicate_immSExt16>>:$imm))

not:

(set GPRC:i32:$rD, (add GPRC:i32:$rA, (imm)<<Predicate_immSExt16>>))

(we keep the ":$imm")


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23269 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-08 17:45:12 +00:00
Chris Lattner
54cb8fd814 Initial cut of the dag isel generator. This is still very much a work in
progress.  It correctly parses instructions and pattern fragments and glues
together pattern fragments into instructions.

The only code it generates currently is some boilerplate code for things
like the EntryNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23261 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-07 23:44:43 +00:00
Chris Lattner
6b5d9cdfcf Rename a class. These files are being migrated to the new isel and I want to
reuse the names


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23252 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-06 22:51:34 +00:00
Chris Lattner
46a780056b regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23249 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-06 21:23:27 +00:00
Chris Lattner
9978332473 Tighten up the specification to allow TableGen/nested-comment.td to pass
(fixing a bug where / in a /* */ comment would cause it to not close).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23248 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-06 21:23:09 +00:00
Chris Lattner
4a24c645c8 Add an option and stuff implementation of a dag isel emitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23236 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-03 01:14:03 +00:00
Reid Spencer
68a24bdba4 Implement PR614:
These changes modify the makefiles so that the output of flex and bison are
placed in the SRC directory, not the OBJ directory. It is intended that they
be checked in as any other LLVM source so that platforms without convenient
access to flex/bison can be compiled. From now on, if you change a .y or
.l file you *must* also commit the generated .cpp and .h files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23115 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-27 18:50:39 +00:00
Chris Lattner
e3cbf823f0 spell this right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23099 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26 20:55:40 +00:00
Chris Lattner
5f89bf0f9d spell this variable right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23095 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26 20:42:52 +00:00
Chris Lattner
8b50f9b8dc Expose a new flag to TargetInstrInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23094 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26 20:40:46 +00:00
Chris Lattner
9fdd6e3f50 add a marker at the end of the instruction enum list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23090 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26 20:17:00 +00:00
Chris Lattner
8d30c23d26 Emit this:
static const TargetOperandInfo OperandInfo6[] = { { &PPC32::CRRCRegClass }, { 0 }, };

instead of this:

static const TargetOperandInfo OperandInfo6[] = { { PPC32::CRRCRegisterClass }, { 0 }, };

For operand information, which does not require dynamic (startup-time)
initialization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22931 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 20:29:14 +00:00
Chris Lattner
60200e5d32 Expose the derived register classes to the public header, allowing them
to be accessed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 20:23:42 +00:00
Chris Lattner
ac46893e24 Split register class "Methods" into MethodProtos and MethodBodies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22928 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 19:12:51 +00:00
Chris Lattner
42de581b2f Refactor to use Target.getRegisterClasses consistently, which provides
anonymous regclass definition renaming.

Change the generated code to emit register classes as properly namespace
qualified entities like everything else.

expose the actual class definition as an object, though this isn't quite
usable yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22920 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 18:47:59 +00:00
Chris Lattner
d5aa3e26bb Emit real operand info for instructions. This currently works but is bad
in one way: the generated tables require dynamic initialization for the
register classes.  This will be fixed in a future patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22919 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 18:46:26 +00:00
Chris Lattner
c67c18fd23 Read the namespace field from register classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22918 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 18:45:20 +00:00
Chris Lattner
22c6202bb3 add a setName method to record
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22912 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 17:58:49 +00:00
Chris Lattner
936dd9274a Add a setName method to Record.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22911 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 17:58:11 +00:00
Chris Lattner
0e384b66a7 For now, just emit empty operand info structures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22910 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 16:57:28 +00:00
Chris Lattner
bfd4f55202 Fix a problem jeffc noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22903 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 06:16:04 +00:00
Chris Lattner
fcd60a010b The code emitter generator only supports targets with 32-bit instruction
words.  There is no way for one of these targets to have a > 32-bit immediate!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22897 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 01:04:33 +00:00
Chris Lattner
d98958f4bd now that all of the targets are clean w.r.t. the number of operands for each
instruction defined, actually emit this to the InstrInfoDescriptor, which
allows an assert in the machineinstrbuilder to do some checking for us,
and is required by the dag->dag emitter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22895 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 00:59:49 +00:00
Chris Lattner
cfbf96aa9c Figure out how many operands each instruction has, keep track of whether
or not it's variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22885 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-18 23:38:41 +00:00
Chris Lattner
f372ae6ebc revert this change, which causes breakage, temporarily
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22880 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-18 22:12:31 +00:00
Chris Lattner
a3ac88d8ab When emitting implicit use/def lists, only emit each unique list once. Though
LLVM is able to merge identical static const globals, GCC isn't, and this caused
some bloat in the generated data.  This has a marginal effect on PPC, shrinking
the implicit sets from 10->4, but shrinks X86 from 179 to 23, a much bigger
reduction.

This should speed up the register allocator as well by reducing the dcache
footprint for this static data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22879 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-18 21:36:47 +00:00
Chris Lattner
dcfa353d74 Fill in the numOperands field of the TargetInstrDescriptor struct from the
.td file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22873 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-18 19:45:37 +00:00
Chris Lattner
e96e376833 make is the standard name, not gmake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22573 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-02 00:10:52 +00:00
Jeff Cohen
00b16889ab Eliminate all remaining tabs and trailing spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27 06:12:32 +00:00
Chris Lattner
3e3def9c19 Fix PR595: These error messages should not be looking at CGI.Name, they
should be looking at CGI.TheDef->getName().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22445 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-15 22:43:04 +00:00
Nate Begeman
afc545616a Add support for a TODO; instructions in .td files can now have arguments
printed as part of the opcode.  This allows something like
cmp${cc}ss in the x86 backed to be printed as cmpltss, cmpless, etc.
depending on what the value of $cc is.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22439 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-14 22:50:30 +00:00
Misha Brukman
4391bb537d * Add ability to specify the target LLVM will compile for via configure
* Minor whitespace cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22197 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 19:17:05 +00:00
Misha Brukman
f5f37f0d8f Add a -cvstag option for testing specific branches, such as release candidates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22176 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-26 16:28:55 +00:00
Andrew Lenharth
edd47f21c5 now with a legend, and multiple lines work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22153 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 17:50:51 +00:00
Andrew Lenharth
24d77506d0 OK, the simple scheme for the db plus a couple of cgi scripts that
do the dynamic plotting of stuff.  Still being tested, but makes graphs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22152 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 17:33:42 +00:00
Reid Spencer
74b0f11191 It would help if the headings were sorted properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22096 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 19:33:21 +00:00
Reid Spencer
bfb7ca9ccb Fix a brain blunder in the HTML output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22094 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 18:52:57 +00:00
Reid Spencer
4dd4e6ae1b Sometimes tab completion is *not* your friend. Added the wrong file, by
accident so now I'm correcting it. The script is userloc.pl not userloc.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22093 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 18:30:38 +00:00
Reid Spencer
05eaeae23a Add a script to generate information about the number of lines of code a
user has checked in (not necessarily authored) based on cvs annotate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22091 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 18:26:47 +00:00
Chris Lattner
af26d3ea03 add support for fastcc and friends
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21979 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13 20:40:52 +00:00
Misha Brukman
2bb550864d * Fix wording of the warning
* Add autoindent, smartindent, and smarttab options to the file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21905 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-12 21:41:48 +00:00
Chris Lattner
653488d166 Hilight tail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21726 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 06:07:34 +00:00
Andrew Lenharth
e3142bee52 import fix and plot multiple lines at once
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21596 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-27 17:32:41 +00:00
Andrew Lenharth
e43b3fbb5f Generate a gnuplot script for any program and any test (like llc or gcc)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21593 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-27 16:41:50 +00:00
Andrew Lenharth
91aa9eec5f So you want to import nightly tester data into a data base? Have we got the perl script for you
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21592 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-27 16:03:01 +00:00
Andrew Lenharth
6e92729e98 fix for parse, and a start at db import. Using CVS as scp :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21591 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-27 14:57:26 +00:00
Andrew Lenharth
4430e3a4a8 A first step towards being able to do more interesting things with the nightly tester data. Moreinteresting things will come soon, so tune in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21584 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-27 02:13:20 +00:00
Misha Brukman
55d2a1a546 elisp code to help with LLVM code standards compliance
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21497 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-24 17:09:19 +00:00
Misha Brukman
3d6eea518c .vimrc file to aid in LLVM coding standards conformance
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21496 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-24 17:05:04 +00:00
Jeff Cohen
ea3e5e56fd Eliminate tabs and trailing spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21441 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 04:13:13 +00:00
Misha Brukman
3da94aec4d Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 00:00:37 +00:00
Chris Lattner
a6dcd0ef73 ignore generated files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21362 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 15:34:36 +00:00
Chris Lattner
6e19b5b792 fix bogus warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21361 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 15:32:30 +00:00
Chris Lattner
7dda395004 Major change to tblgen: instead of resolving values every time a class is
finished up, only resolve fully when the def is defined.  This allows things
to be changed and all uses to be propagated through.  This implements
TableGen/LazyChange.td and fixes TemplateArgRename.td in the process.

None of the .td files used in LLVM backends are changed at all by this
patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21344 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 03:36:21 +00:00
Chris Lattner
577057faaa implementing shifting of literal integers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21336 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 01:17:35 +00:00
Chris Lattner
b9266f880a Add initial lexer and parser support for shifting values. Every use of this
will lead to it being rejected though.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21335 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 01:11:03 +00:00
Chris Lattner
8f45731da5 spiff up the nightly tester output one more notch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20650 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-17 16:07:45 +00:00
Chris Lattner
5e5d2203cd Print out who commits and what files were modified at the bottom of the test summary log sent to llvm-commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20641 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-16 17:09:53 +00:00
Chris Lattner
0bb4828f17 Fix computation of compiled objects, contributed by Vladimir Merzliakov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20564 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-11 20:17:04 +00:00
Misha Brukman
d3a5412d1d Replace tabs with spaces, separate function arguments with a space
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20538 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-10 16:32:33 +00:00
Chris Lattner
453d062182 Improve formatting of the sent mail for the dj test results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20537 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-10 16:26:50 +00:00
Chris Lattner
004e19e38d Include local time on the web page for start/end times.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20150 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 16:08:30 +00:00
Chris Lattner
417c4d5b4a This method takes sys::Path objects now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19773 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-23 03:32:16 +00:00
Chris Lattner
220df9c13d Drop dead #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19768 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-23 03:16:56 +00:00
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
Reid Spencer
0172d09b64 Link with LLVMsystem.a for operating system independence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16094 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:31:19 +00:00
Reid Spencer
debb5f085a RemoveFileOnErrorSignal is now in the llvm::sys namespace. Adjust
accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16093 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:30:41 +00:00
Reid Spencer
8eecb149ef Add the examples directory to these scripts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16030 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 17:42:33 +00:00
Chris Lattner
037d732e09 Alignment is now in bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15976 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:15:25 +00:00
Chris Lattner
98df506e71 Make alignment be in bits, just like size is
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15969 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:00:36 +00:00
Chris Lattner
987b5cc557 Infer the spillsize/alignment of a register based on the register classes
it is embedded into.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15966 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 19:42:03 +00:00
Chris Lattner
5767775505 Support "Methods" in register classes in CodgeGenRegisterClass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15965 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 19:21:21 +00:00
Chris Lattner
056afeface Start parsing register classes into a more structured form
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15961 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 04:05:00 +00:00
Chris Lattner
7a680c6064 Read in declared reg sizes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15960 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 02:24:57 +00:00
Chris Lattner
2c38413b3f Do not #include files into the llvm namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15849 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 03:08:28 +00:00
Chris Lattner
2669311320 Use CodeGenRegister class to make reading in of register information more
systematic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15805 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:10:21 +00:00
Chris Lattner
8dab6ca9c6 Add initial support for register and register class representation.
Obviously this is not done.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15804 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:09:52 +00:00
Chris Lattner
59b92cec35 Remove awareness of isDummyClass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15789 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 23:04:13 +00:00
Chris Lattner
6a1e0e6c7b Include .td and .txt files in the greps. This will allow me to find symbols in
them, and also count them in the LOC of LLVM for the nightly tester.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15786 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:54:31 +00:00
Chris Lattner
175580c0f3 Make the AsmWriter a first-class tblgen object. Allow targets to specify
name of the generated asmwriter class, and the name of the format string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:50:53 +00:00
Chris Lattner
9302ba416b Fix minor bug in previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15649 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 04:08:36 +00:00
Chris Lattner
1caef2c0a9 change how we invoke the printer. Instead of passing in the MO directly,
pass in the MI, operand number, and the type of the operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 02:23:23 +00:00
Chris Lattner
cf03da0ce9 Start parsing more information from the Operand information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 02:22:39 +00:00
Chris Lattner
552a8428fa Remove special case hacks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15643 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 01:53:58 +00:00
Misha Brukman
ad346ad170 Deleted commented-out code as we now get namespace directly, add comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15627 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 20:54:58 +00:00
Misha Brukman
e2ba7787ba Use the target name instead of hard-coding SparcV9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15616 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 18:31:01 +00:00
Chris Lattner
2b27b88716 This was a good idea, but until this does not break the build of
lib/Target/Sparc, we should not use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15603 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 15:05:18 +00:00
Misha Brukman
d7a5b2826c Use the current target name instead of a ClassPrefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15585 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-09 19:10:43 +00:00
Misha Brukman
eb178c146a * Use Classname and ClassPrefix instead of hard-coded V9 values
* Simplify code and shorten lines by not recomputing values


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15582 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-09 17:47:45 +00:00
Brian Gaeke
047e606146 Split out -disable-codegen into -disable-llc and -disable-jit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15530 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 19:54:59 +00:00
Misha Brukman
4e4f8631f6 * Added documentation in the file header
* Shorten assert() text to make it fit within 80 cols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15508 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 22:07:54 +00:00
Chris Lattner
c3d5f3e12a Be picky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15400 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:55:34 +00:00
Chris Lattner
2d12b2cf75 Instructions no longer need to have names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15399 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:38:17 +00:00
Chris Lattner
076efa771a Add support for asm printing machine instructions that have operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 07:43:02 +00:00
Chris Lattner
87c5905e0b Parse the operand list of the instruction. We currently support register and immediate operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 07:42:39 +00:00
Chris Lattner
2e1f51b8a5 Initial cut at an asm writer emitter. So far, this only handles emission of
instructions, and only instructions that take no operands at that!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 05:59:33 +00:00
Chris Lattner
ec3524064c Add, and start using, the CodeGenInstruction class. This class represents
an instance of the Instruction tablegen class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15385 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 05:04:00 +00:00
Chris Lattner
803a5f6ecb Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15382 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 04:04:35 +00:00
Chris Lattner
2082ebe8b3 Finegrainify namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15381 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 03:55:39 +00:00
Chris Lattner
58505994cf Support new flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15355 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 02:07:26 +00:00
Chris Lattner
fe2597a55c Fix the nightly tester to default to using gnuplot in /usr/bin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15287 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 18:41:49 +00:00
Chris Lattner
892cdb3b3a Ugh, the upgrade of zion brought in GCC 3.3.2, our arch nemesis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15269 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 08:29:06 +00:00
Chris Lattner
1dba7abdd7 Implement test/Regression/TableGen/ListSlices.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15249 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 01:01:21 +00:00
Chris Lattner
b0fef64dc9 Add initial support for list slices. This currently allows you to do stuff
like this:

def B {
  list<int> X = [10, 20, 30, 4, 1, 1231, 20] [2-4,2,2,0-6];
}

... which isn't particularly useful, but more is to come.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15247 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-26 23:21:34 +00:00
Reid Spencer
a60ff2e144 A utility to run an arbitrary program on each of the LLVM source files.
This is like llvmgrep but instead of running grep, it runs the command
given by the first argument. For example, to find the top ten files with
the most lines in llvm, you could:

utils/llvmdo wc -l | sort -nb | tail

Or, to find any source files with the wrong permissions, you could:

utils/llvmdo ls -l | grep -v rw-r--r--

Hopefully, you get the idea.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15246 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-26 22:52:44 +00:00
Chris Lattner
5c2e282865 Change column name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15129 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 06:50:18 +00:00
Chris Lattner
9879aa9c95 Remove some abandoned code that was never finished. If needed in the future
it can be ressurected from CVS.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15113 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22 21:32:38 +00:00
Chris Lattner
bd935336d4 Passing integer 0 in for a pointer value doesn't work on IA64. Fix this
by using a new macro.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 00:02:21 +00:00
Chris Lattner
42df6d1396 Make tblgen not try to be smart. This is better handled in makefiles if
at all.  Patch contributed by Vladimir Prus!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14784 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-13 06:11:46 +00:00
Reid Spencer
23a354d1f1 Fix some thinkos in the script (error handling, proper argument handling).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14676 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-07 21:19:01 +00:00
Reid Spencer
ebeebecad2 Change the "rotate by 90" xtics specification to just "rotate" which is
equivalent. The "by <angle>" syntax is not acceptable for all output
devices. Apparently the Sparc and x86 output devices (no color) don't
accept this, but should accept the plain "rotate".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-06 17:04:09 +00:00
Reid Spencer
7cccb2dcdb Caused the labels on the small plots to be drawn vertically instead of
horizontally so they no longer overlap.

This eye-strain-lessening patch contributed by Vladimir Merzliakov. Thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14632 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-05 19:09:32 +00:00
Chris Lattner
86840d0dcb Fix relative links for nightly testers not hosted on llvm.cs.
Patch contributed by Vladimir Merzliakov!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14419 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 20:57:19 +00:00
Brian Gaeke
2280098594 Don't try to run qmtests if we fail to build the tree. The qmtests (at
least, on macosx) will spiral out of control instead of failing gracefully.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14396 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 07:25:28 +00:00
Reid Spencer
c5b6705f04 Move the tests for readability of the template and gnuplot files so they
occur AFTER the source is checked out. This ensures that if either of the
-gnuplotscript or -templatefile options are not given, that they get picked
up from the checkout directory and don't abort the test unnecessarily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14346 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 14:07:12 +00:00
Reid Spencer
1d914635f9 Added a -noexternals options to avoid performing the externals tests on
test environments that don't have Povray or SPEC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14345 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 07:45:46 +00:00
Reid Spencer
a337f0c43d Make sure GetRegEx returns something gnuplot can deal with (a number, not
a ?) so that graphs don't bail if something fails in a test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14344 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 06:36:34 +00:00
Reid Spencer
cb6a3aa367 - Added the -nice option for nicing the build processes.
- Added the -gnuplotscript option to specify the GnuPlot script to use.
- Added the -templatefile option to specify the HTML template to use.
- Moved subroutines to top of file.
- Used variables for file names in case we want to change to directories.
- Made program track its directory changes in $VERBOSE mode (for debugging)
- Added variables to support tracking start time, finish time, and platform
  details about each nightly test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14321 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-22 15:38:37 +00:00
Reid Spencer
900576f9b8 Added start time, finish time, and platform (uname -a output) information
to the top of the template for identification purposes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14318 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-22 15:32:02 +00:00
Tanya Lattner
60f5cf42e9 Removed extra href close tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14315 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-22 05:44:31 +00:00
Misha Brukman
294984cecb Handle shifts >= 32 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14291 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 18:01:47 +00:00
Chris Lattner
3048373748 Move the IntrinsicLowering header into the CodeGen directory, as per PR346
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14266 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-20 07:49:54 +00:00
Chris Lattner
8e6d2bb8fa Make fpcmp handle running off of the beginning or end of the file correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14259 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-20 03:12:18 +00:00
Reid Spencer
2d67208306 A utility to search the LLVM source tree for a grep pattern. This is a
replacement for getsrcs.sh which now generates too much text to put on a
Linux command line. The approach taken with llvmgrep is to execute a find
command and execute a grep on each file that matches the name pattern. The
arguments to this script are the same as those of egrep. Note that the -H
and -n options to egrep will always be passed so that you always get the
file and line number of matches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14255 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-19 20:32:55 +00:00
Misha Brukman
0603079719 Make header comment fit within 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14198 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-17 15:49:36 +00:00
Misha Brukman
8238c27371 The correct prototype is `int atoi(CONST char*)'. Unbroke AIX build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14173 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-14 16:30:05 +00:00
Reid Spencer
4a4bfd87a4 Get rid of "might be uninitialized" warnings when compiling with GCC 3.3.2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-13 19:17:49 +00:00
Brian Gaeke
253231eb39 Don't trim @PrevDays (causing an error) if it isn't long enough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14156 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 19:55:30 +00:00
Reid Spencer
f6d023312f Add two options to the program:
-release causes ENABLE_OPTIMIZED=1 to be added to the make line so that
         the test runs against optimized code.
-pedantic causes the CompileOptimizeOpts variable to be overridden to
          add several additional warnings not picked up by -Wall. This
	  should help catch additional programming faux pas. See the diff
	  for the specific details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14153 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 07:06:22 +00:00
Brian Gaeke
43f38677f5 Allow dates with slashes in them in $DateRE.
Don't match on $Filename (which will be unset) if we hit 'UNMATCHABLE:'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14112 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 07:44:28 +00:00
Reid Spencer
389174b098 Columnized the compilation statistics for easier reading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14099 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 18:29:15 +00:00
Chris Lattner
ff2c64c979 Fix the really bizarre stuff that happened last night in the tester
due to non-numeric diff failures that caused fpcmp to go into infinite loops


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14098 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 18:28:53 +00:00
Reid Spencer
1a8c917ec6 Regularize title of Regression Test section. Clean up some blank space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14080 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 02:07:25 +00:00
Reid Spencer
f5d0af3916 * Fix indentation of Regression Test Results by making sure the
GetQMTestResults function closes all its open tags.
* Cause XFAIL results to not be reported at all except in the stats.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14067 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 08:01:33 +00:00
Misha Brukman
bebdb204d2 Emit a more sensible error message if no subclasses of Target are defined.
Patch contributed by Vladimir Prus.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14010 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 14:59:42 +00:00
Brian Gaeke
8566854f61 Honor DISABLE_CBE, etc., even when doing the "running tests" (i.e., Olden)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14004 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 00:07:12 +00:00
Brian Gaeke
1770e2cf01 Allow script to set configure args.
Allow environment to set llvmgccdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13994 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 21:46:56 +00:00
Chris Lattner
20d13ea5f6 Add -disable-codegen option to disable LLC and JIT targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13978 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 03:29:39 +00:00
Reid Spencer
f252371068 Align the lower portion of the page with the left margin so that the page
width is not made excessive by the large table of results. Improves
readability of the page.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13913 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-31 21:38:56 +00:00
Reid Spencer
aa0bfbe3d1 Clean up the Feature and Regression test output to (a) use section headers,
(b) avoid <pre> tag so page width doesn't become excessive, (c) omit the
execution time stats, (d) format each reported test in a list with bold
headings for readability, (e) omit long lines of dashes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13912 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-31 20:59:55 +00:00
Reid Spencer
542e859216 Make the Regression/Feature test support excise all ": PASS" lines that
indicate successful tests. We're really only interested in the bad news
in this output :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13901 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 00:17:47 +00:00
Chris Lattner
4d00fde838 Changes to make the nightly tester run the regression tests at night, yaay!
Change contributed by Reid Spencer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13882 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 20:30:23 +00:00
Chris Lattner
18884fa868 Right: the #includes are not needed either
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13867 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 00:35:51 +00:00
Chris Lattner
531b802e13 Use fileutilities instead of mmap directly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 00:31:36 +00:00
Chris Lattner
91e43dadf9 doxygen no longer builds into the docs tree, and we no longer have boost
in the tree


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13838 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 17:58:45 +00:00
Chris Lattner
36c5757abf Add support for dos style files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13836 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 17:44:18 +00:00
Chris Lattner
bed85ff010 Header file moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:41:36 +00:00
Misha Brukman
e38adf52c8 Add hint about syntax-highlighting non-standardly-named LLVM Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13606 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-19 21:20:40 +00:00
Misha Brukman
6cdff92daf Added `zeroinitializer' keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13253 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 19:36:08 +00:00
Brian Gaeke
6893eadc95 mmap of a zero length file returns null on some platforms, so hack around it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13121 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 17:38:17 +00:00
Brian Gaeke
9a459abed2 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13072 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19 19:09:24 +00:00
Chris Lattner
7c8781e71f Spiff is no longer in our tree
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13041 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 18:26:38 +00:00
Misha Brukman
234b3ec879 The "best" of both worlds: readable C++ comments and valid HTML For doxygen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12964 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-15 15:30:15 +00:00
Chris Lattner
6de6a0a6f0 Fix bug, add support for +/-
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12934 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 21:48:43 +00:00
Chris Lattner
39975d3671 Out with spiff, in with fpcmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12928 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 20:59:24 +00:00
Chris Lattner
0d8c3b6da3 Remove spiff. Though it looked good, it was not really as spiffy as it seemed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12927 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 20:58:42 +00:00
Chris Lattner
337481a07e Okay, spiff is completely incapable of handling files of nontrivial size.
Here is a simple minimal program that does what we want.  Instead of taking
minutes to compare mesa's output, and crashing on binary files (like spiff
does), this take < .02s in the common case and doesn't crash.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12926 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 20:55:49 +00:00
Chris Lattner
e8263c2c09 Increase buffer size again. *sigh*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12912 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 18:43:18 +00:00
Chris Lattner
1ae684a158 Don't index spiff. It should not count as lines of LLVM code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12911 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 18:37:51 +00:00
Chris Lattner
422acf2674 Fixed sized limits are bad... duh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12908 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 18:34:16 +00:00
Chris Lattner
f7dd526fa6 Really spiff, don't chatter :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12907 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 18:33:21 +00:00
Brian Gaeke
07b2c46ae3 Don't underline diffs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12902 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 18:24:01 +00:00
Brian Gaeke
cce5a349d9 Clean up the Spiff code so that it emits fewer warnings. This
consists mostly of changing sloppy K&R C code to slightly more
disciplined K&R C code, and doing the usual things to shut gcc up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12877 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 03:24:45 +00:00
Brian Gaeke
401be2c18c Build Spiff directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12876 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-12 22:53:51 +00:00
Brian Gaeke
0df5f9fb7e Add the Spiff fp-aware diff utility from Bellcore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12875 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-12 22:53:24 +00:00
Jakub Staszak
88ac78c4d9 Tablegen backend for really simple instruction selector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 19:31:31 +00:00
Jakub Staszak
01b6a6f279 add tablgen backend for really simple instruction selector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 19:30:56 +00:00
Chris Lattner
ffb33a1574 Teach vim about the select instruction. Allow it to forget about the long-dead
not instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12327 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:55:07 +00:00
Chris Lattner
98124c81fa Teach emacs about the select instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12326 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:54:48 +00:00
Chris Lattner
5cedabafe5 Default to using edge counts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12234 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 20:04:46 +00:00
Brian Gaeke
ba2e09891a Squash /usr/dcs path; use a 'require <version>' instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12099 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 17:38:51 +00:00
Brian Gaeke
1d4c9025e0 Add my regression finding by binary searching cvs script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12095 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 08:14:25 +00:00
John Criswell
c9699ccce2 Added EH support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12075 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-02 15:54:25 +00:00
Brian Gaeke
f2cab76a47 Don't look in the .libs directories that libtool makes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12027 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 02:41:22 +00:00
Chris Lattner
8a4045e4d7 Do not remove an active template argument even if the superclass had one of the
same name


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 17:41:48 +00:00
Chris Lattner
81d50adfaf Ignore X = X assignments that was causing Alkis's rewrite of X86.td to crash
tblgen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11948 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 17:31:28 +00:00
Chris Lattner
ff367ee1c5 Assert instead of going into an infinite loop!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11946 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 16:31:53 +00:00
John Criswell
fd04ee687b Added support for C++ compilation.
Made removing the object files a separate sh command so that it can easily
be commented out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11888 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 23:02:25 +00:00
John Criswell
28ccd021de C++ version of llvm-native-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11887 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 23:01:21 +00:00
John Criswell
cac4b8ea04 Updated to use llc to generate CBE code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11823 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 17:15:02 +00:00
Chris Lattner
e9f66b9741 Add a label for the bump when we started counting llvm/projects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11596 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:27:06 +00:00
Chris Lattner
f5761a5e68 exit(1) instead of abort()'ing on error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 16:37:43 +00:00
Chris Lattner
83fe91797a Fix buggy error message problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11379 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 16:33:56 +00:00
Misha Brukman
f2f5b3950e Ooops, top-level C++-comments aren't recognized by flex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11337 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 00:03:08 +00:00
Misha Brukman
1700f776ff * Convert C comments to C++ style (why are some one way, some another?!)
* Delete extra space, extra blank comment lines
* Convert function comments to doxygen


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11336 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 00:00:46 +00:00
Brian Gaeke
0afbc2f511 Fix bug in initial check - when recompiling everything with llvm-native-gcc,
you have to erase the program and re-run the linker, too, before running the
checker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11328 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 18:52:05 +00:00
Chris Lattner
b9f960e39d Make block profiling the default
add a new -function argument
Add a new -o argument to specify where to put llvmprof.out data


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11265 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 18:01:50 +00:00
Brian Gaeke
79bf052531 Fix unterminated-quote typo in echo command
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11188 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08 08:01:00 +00:00
Chris Lattner
7b9ee51a55 Print the record NAME not the record ADDRESS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11144 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-06 03:19:17 +00:00
Chris Lattner
991a75eab9 Start counting projects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10980 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-27 21:46:23 +00:00
Brian Gaeke
48e9f26df5 Fix a couple of places I noticed where "X86" was hard-coded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10974 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-24 09:23:46 +00:00
Brian Gaeke
4a6ca8d096 This is my script for narrowing down miscompilations to a single file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10890 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-15 22:35:43 +00:00
Chris Lattner
d56147dc72 Eliminate annoying warnings from the tester, hopefully for real this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10777 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12 16:55:30 +00:00
Chris Lattner
be39e43d33 Fix annoying warnings. W doesn't have a revision number
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10736 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 18:39:04 +00:00
Chris Lattner
f789d409fa explain the jump for llvm-db
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 18:33:14 +00:00
Alkis Evlogimenos
2e142f589b Change perl interpreter path to the standard /usr/bin/perl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 01:48:26 +00:00
Chris Lattner
370e809107 Eliminate a spurious warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10540 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19 19:48:43 +00:00
Chris Lattner
bb0aca5917 If -enable-linscan is specified, add ENABLE_LINEARSCAN=1 to the make commandline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10527 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19 03:47:31 +00:00
Chris Lattner
8ffc66dac4 Update template
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10525 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19 03:34:46 +00:00
Chris Lattner
7538469204 Stop laughing Misha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10393 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 00:58:34 +00:00
Brian Gaeke
73d8d55e0e Check in the llvm-native-gcc script, which I use in the process of
debugging front-end miscompilations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10347 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 22:23:24 +00:00
Brian Gaeke
ac5d96b4e3 This may fix the "0 dirs" stuff we get in the nightly tests when they are
checking out over remote cvs connections.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10278 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:31:12 +00:00
Chris Lattner
116e70f3c9 This function REALLY DOES return void
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10124 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-20 21:22:32 +00:00
Brian Gaeke
d0fde30ce8 Put all LLVM code into the llvm namespace, as per bug 109.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
Chris Lattner
a3ed7d3cb0 * Add units to the yaxis of each chart
* Add charts to the nightly test report


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9808 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-08 20:48:39 +00:00
Chris Lattner
75dd3e5127 Since we are collecting all of this data, we might as well graph it!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9807 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-08 20:33:04 +00:00
Chris Lattner
5cea0e142c fix warnings on sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9759 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 21:30:15 +00:00
Chris Lattner
1ca922110d Add -help option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-02 05:17:32 +00:00
Chris Lattner
0faadf2e58 Pass unrecognized options into llvmprof
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9596 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29 21:51:00 +00:00
Chris Lattner
8a209dd030 Add option for block profiling, pass in the "correct" argv[0] to the program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9566 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 22:52:05 +00:00
Chris Lattner
ad910ebe70 Helper script for collecting profiling instrumentation. Simply run
$ profile.pl foo.bc <args>

... to instrument, run, then print a program profile!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9560 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 22:11:31 +00:00
Chris Lattner
3e457f7b20 I'm tired of the nightly tester stopping, aren't you?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9544 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 18:37:24 +00:00
Chris Lattner
0512d02af7 Make sure to syntax hilight the 'unwind' keyword!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9524 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-27 05:09:15 +00:00