Commit Graph

1181 Commits

Author SHA1 Message Date
Chris Lattner
16f046a6ce Actually, name the method PrintSpecial to match other stuff in AsmPrinter.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30618 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 23:47:10 +00:00
Chris Lattner
1bf6361dfd Add support for ${:foo} syntax, where "foo" is passed into "printSpecial" and
has no associated operand.  This is useful for portably encoding stuff like
the comment character into an asm string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30617 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 23:45:08 +00:00
Chris Lattner
ce6e84ca6c don't allow 'imm' or specific imms, like '1' on the LHS of a binop.
This shrinks X86GenDAGISel by ~330 lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30574 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-21 20:46:13 +00:00
Chris Lattner
649069728f Fit to 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30572 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-21 18:28:27 +00:00
Jim Laskey
01d7bcf03d Trim the home directory from the dejagnu test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30519 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-20 09:20:22 +00:00
Evan Cheng
d46bd604ed Allow PatFrag to be a leaf node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30498 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 19:08:04 +00:00
Evan Cheng
cf6d791e08 Add result of a Xform to isel queue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30497 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 18:40:15 +00:00
Chris Lattner
bc7fa5277f If multiple predicates are listed, they must all pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30476 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 00:41:36 +00:00
Chris Lattner
47a7e2681e There!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30473 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-18 22:41:07 +00:00
Chris Lattner
a4503de431 Fix Regression/TableGen/2006-09-18-LargeInt.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30472 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-18 22:28:27 +00:00
Jim Laskey
6d8a1b7c55 Switching to NewNightlyTest.php
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30394 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-15 17:03:36 +00:00
Chris Lattner
7905c55b12 Relax this check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30381 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14 23:54:24 +00:00
Jim Laskey
996f7050db No longer used, and confuses maintainers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30248 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-11 16:02:58 +00:00
Evan Cheng
966fd37ba5 1) With X86 lowering change, the following can no longer happen since
the branch's chain is also produced by cmp.
          [ch, r : ld]
             ^ ^
             | |
      [XX]--/   \- [flag : cmp]
       ^             ^
       |             |
       \---[br flag]-

Remove an isel check which prevents loads from being folded into cmp / test
instructions.

2) Whenever possible, delete a selected node to allow more load folding
opportunities. Note not all nodes can be deleted after it has been
selected. Some may have simply morphed; some have not changed at all (e.g.
EntryToken).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30242 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-11 02:24:43 +00:00
Evan Cheng
6cec34e094 Generated isel should favors explicit constant operand (+2) over an operand with a predicate (+1).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30180 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-08 07:26:39 +00:00
Chris Lattner
8aa01f4b43 Fix JIT encoding of two-addr instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30111 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-05 03:01:52 +00:00
Chris Lattner
2926869b4a Fix a long-standing wart in the code generator: two-address instruction lowering
actually *removes* one of the operands, instead of just assigning both operands
the same register.  This make reasoning about instructions unnecessarily complex,
because you need to know if you are before or after register allocation to match
up operand #'s with the target description file.

Changing this also gets rid of a bunch of hacky code in various places.

This patch also includes changes to fold loads into cmp/test instructions in
the X86 backend, along with a significant simplification to the X86 spill
folding code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30108 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-05 02:12:02 +00:00
Chris Lattner
cce56af911 Make sure to clear CurDefmPrefix = 0, otherwise stuff after a defm won't
parse right.  This fixes TableGen/MultiClass.td


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30037 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 22:07:27 +00:00
Chris Lattner
7717d0930a fix an assertion with multidefs. Def inside of multiclasses don't need to
be complete.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30034 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 21:59:03 +00:00
Chris Lattner
2762738d96 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30029 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 21:14:42 +00:00
Chris Lattner
12069866c8 Add often-requested support for defining "multiclasses" which can be instantiated.
This allows you to define multiple definitions with one line, encouraging
more .td file factoring.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30027 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 21:13:49 +00:00
Evan Cheng
718996654b Issue cvs co with -P option to prune empty directories. Remove the unnecessary
update stage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29955 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-29 18:01:18 +00:00
Reid Spencer
f100dcc42e Add virtual methods to all subclasses so they are not overloaded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29930 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 00:12:25 +00:00
Chris Lattner
8dc728e440 Use compiler.h instead of hand rolling our own macro
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29913 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 13:16:24 +00:00
Evan Cheng
f037ca6245 Do not emit getTargetNode() and SelectNodeTo() which takes more than 3
SDOperand arguments. Use the variants which take an array and number instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29906 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 08:11:28 +00:00
Evan Cheng
95514bae73 SelectNodeTo now returns a SDNode*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29901 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-26 08:00:10 +00:00
Evan Cheng
7a33db0b20 Minor getCopyToReg() call change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29900 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-26 07:39:28 +00:00
Evan Cheng
9ade218533 Select() no longer require Result operand by reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29898 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-26 05:34:46 +00:00
Evan Cheng
2a318cfad5 Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29897 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-26 01:34:15 +00:00
Evan Cheng
f549319b4a A bit more clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29893 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-26 01:02:19 +00:00
Evan Cheng
676d731c61 - Clean up tablegen dag isel generator code.
- Clean up the code generated by tablegen:
  * AddToISelQueue now takes one argument.
  * ComplexPattern matching condition can now be shared.
  * Eliminate passing unnecessary arguments to emit routines.
  * Eliminate some unneeded SDOperand declarations in select routines.
  * Other minor clean ups.
- This reduces foot print slightly: X86ISelDAGToDAG.o is reduced from 971k
  to 823k.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29892 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-26 00:59:04 +00:00
Patrick Jenkins
ad6f758f89 Corrected an error that was introduced yesterday that caused the GCC
version to be left blank if the build failed.

Also corrected a problem where if the build failed the nightly tester
would still try to read the results of the Dejagnutests log even
though it didnt exist.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29829 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 18:11:19 +00:00
Patrick Jenkins
0313775225 The new nightly tester should stop outputing a message stating the
testresults directory is not present unless the script is run as verbose.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29797 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 20:45:57 +00:00
Patrick Jenkins
b9c65eb600 These changes reflect the changes in the database for how tests are stored
and bring the handing of dejagnu tests into compliance with this new scheme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29772 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 18:00:21 +00:00
Patrick Jenkins
4b7f7aade1 Changing the format dejagnu tests are submitted. We used to only submit multisource information for pass fail. Now we submit all pass/fail test information. This should fix the issue where some results were not being reported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29757 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-17 22:11:03 +00:00
Patrick Jenkins
d3f341a201 My last commit added some experimental features I have been working on. This commit rolls those back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29738 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 22:32:20 +00:00
Patrick Jenkins
b993b0a3ef Changed the call to countloc.sh so that the correct topdirectory of the llvm build is set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29736 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 22:18:41 +00:00
Evan Cheng
23329f5e03 SelectNodeTo() may return a SDOperand that is different from the input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29726 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 07:30:09 +00:00
Chris Lattner
dfb8607397 The generated runloop shouldn't require Select to update 'Result'. In fact
we'd like to remove result entirely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29713 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 23:42:26 +00:00
Chris Lattner
5298de51b8 allow Select to return the node being selected if RAU isn't needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29712 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 23:27:50 +00:00
Reid Spencer
920baeee80 Simplify this a little bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29695 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:50:10 +00:00
Reid Spencer
6ae928fc69 This script takes arguments so remove the check for number of arguments,
just check the first arg to see if its -topdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29694 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:48:22 +00:00
Reid Spencer
ca7592a1ba Make all tools that use llvmdo have a -topdir option that allows the top
source dir for LLVM to be specified explicitly. This removes the dependency
on the llvm-config script. If the option is not given, then the scripts use
llvm-config which should be both built and in the PATH. This arrangement
provides a useful default for most developers but also allows the nightly
tester to execute countloc.sh before llvm-config is built and without
altering the PATH.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 18:49:05 +00:00
Patrick Jenkins
9e384abc1a Added some comments to clarify code around sub TestDirectory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29658 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 16:07:14 +00:00
Reid Spencer
321956392f 1. fix bug by ensuring we start at the llvm source root.
2. make use of the -code-only option on llvmdo
3. Add some debug print statements to find #1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29655 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 19:03:06 +00:00
Reid Spencer
99aa27161b Count the documentation. Otherwise we take a 30,000 hit in the LOC on the
nightly test graph. And, documentation is important.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29654 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 18:59:40 +00:00
Reid Spencer
c7e289f7ca Use the new -code-only option to llvmdo so that we only count things that
are considered to be code. This will give a drop in the LOC count on the
nightly testers, but it is more accurate than previous estimates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29653 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 18:29:21 +00:00
Reid Spencer
956dae87ae Add a -code-only option which restricts llvmdo to visiting just those
files that are considered to be code. Documentation is excluded.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29652 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 18:28:27 +00:00
Reid Spencer
fa34d7b3a7 Changes for LLVM coding standard compliance:
1. Remove tabs
  2. Wrap to 80 columns
  3. Put spaces between "if" or "elsif" and expression
  4. Put { on same line as if statement.
  5. Make indentation be 2 spaces.
Functionality change:
  Run utils/countloc.sh after the build is done. This is necessary because
  that script now uses llvm-config to find the top src directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29651 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 09:53:02 +00:00
Reid Spencer
4477185a6e Lexer.cpp is a generated file both in lib/AsmParser and projects/Stacker
so we remove it from being counted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29641 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:58:58 +00:00