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
Reid Spencer
2914a696fb
Weed out some cruft and add in some missing extensions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:51:05 +00:00
Reid Spencer
c0d5ed33e5
Weed out cruft that should not be counted and add in extensions we
...
previously missed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29637 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:50:27 +00:00
Patrick Jenkins
0e9402fad4
Added two flags (-submit-server and -submit-script) which allow the user to specify where the test results are submitted too. If these are not specified they default to the LLVM.org server.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29633 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:02:09 +00:00
Reid Spencer
8312657fc3
Make this script not care where it is run from by getting the llvm src
...
root from the llvm-config script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29632 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:55:31 +00:00
Reid Spencer
1e75b7b015
Make llvmdo and llvmgrep invulnerable to where they are run from by getting
...
the llvm source root from the llvm-config command. The dependency now is
that the correct llvm-config command is in the path. For most developers
this is the case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29630 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:53:27 +00:00
Reid Spencer
ae2e622e74
Clean up the HTML output. Add a -filedetails option to report the number of
...
lines contributed by each user to each file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29624 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 20:44:17 +00:00
Reid Spencer
bf49f33103
Remove blank line at end of file, removing test user "foo" from CVS history.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29623 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 19:42:11 +00:00
Reid Spencer
bb6f6eb667
Drop the -details option, it was broken. If you want to know about a
...
particular directory, just pass that directory to the script. Also, clean
up the HTML output, put list of skipped dirs at the end, and make a few
other minor improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29620 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 18:36:55 +00:00
Evan Cheng
1e060f0242
Use SmallVector instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29619 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 18:33:41 +00:00
Evan Cheng
06d6470c65
- Prevent some functions from being inlined to eliminate the code size bloat
...
introduced by previous commit.
- SelectCode now returns a SDNode*. If it is not null, the selected node
produces the same number of results as the input node. The seletion loop
is responsible for calling ReplaceAllUsesWith() to replace the input node
with the output target node. For other cases, e.g. when load is folded,
the selection code is responsible for calling ReplaceAllUsesOfValueWith()
and SelectCode returns NULL.
- Other clean ups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29602 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 08:59:35 +00:00
Reid Spencer
a7465cafeb
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29590 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 19:40:13 +00:00
Chris Lattner
706d2d3608
Revert previous patch
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29585 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 16:44:44 +00:00
Tanya Lattner
8d4ccf0ad4
Reverting back to original 1.8 version so I can manually merge in patch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29584 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 16:41:21 +00:00
Evan Cheng
dcffb0cf81
Merge some NightlyTest.pl changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29579 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 05:45:12 +00:00
Chris Lattner
bd564bfc63
Start eliminating temporary vectors used to create DAG nodes. Instead, pass
...
in the start of an array and a count of operands where applicable. In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap. In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.
I updated a lot of code calling getNode that takes a vector, but ran out of
time. The rest of the code should be updated, and these methods should be
removed.
We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.
It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29566 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 02:23:42 +00:00
Patrick Jenkins
4257ccb1a7
Removed unneccesary output from nightly tester
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29565 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 02:03:53 +00:00
Evan Cheng
9bdca0302a
Making TableGen'd instruction selection code non-recursive. This fixes PR805.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29548 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 22:17:58 +00:00
Patrick Jenkins
e8501eb1bb
Reinstated the sending of a list of all dejagnutests run. Also fixed a rather embarresing error introduced during version 1.41 where i commented out the actual sending of the data to the results server.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29538 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 01:54:37 +00:00
Patrick Jenkins
1c3bf94a42
no longer sending the list of all dejagnu tests because it is too big at the present time
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29537 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-06 21:47:43 +00:00
Patrick Jenkins
cf65fb6503
Changed a = to a .= so we now append tests we have performed to the master list of all tests instead of assigning it as the master list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29531 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 21:42:58 +00:00
Patrick Jenkins
e631c4a5b2
Made some more changes to the print statements in the nightly tester. The last commit was a preemptive strike.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29526 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 17:55:01 +00:00
Patrick Jenkins
ea103a86fa
Encapsulated all of the print statements in "if( $VERBOSE) { }". The testing script will be absoutely silent now except for errors, which will still be printed to the annoyance of the user.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29525 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 17:53:27 +00:00
Patrick Jenkins
7e5c373d07
We should now send the correct list of dejagnu tests instead of the csv file of test results when we submit results back to the nightly tester.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29523 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 17:40:54 +00:00
Reid Spencer
d0fa46aa62
Print an error message if the lib directory (first argument) is not a
...
directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29508 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 19:10:03 +00:00
Patrick Jenkins
69d3a95b17
One of the directories we were searching in for .o and .a files was wrong. We now search /lib instead of /libs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29496 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 16:28:58 +00:00
Chris Lattner
58d63567ea
Remove some extraneous newlines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29492 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 00:42:26 +00:00
Chris Lattner
32501a0e33
Really add support for compilers without noinline
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29491 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 00:26:13 +00:00
Patrick Jenkins
59a2798a32
We now only search the following directories for .o and .a files:
...
utils/
libs/
tools/
Release/ & Debug/
as per Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29488 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 23:48:07 +00:00
Patrick Jenkins
d7210f9dba
Removed some dead code and hopefully fixed the issue where the total list of tests was not being sent
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29476 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 18:37:40 +00:00
Reid Spencer
9bf2e7f53d
Fix a problem with use of undefined variables. Print an error message if
...
the first argument is omitted. Attempt to use a standard/default font.
Make the generation of the DOT file readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29429 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 08:09:03 +00:00
Evan Cheng
d3f8429f01
Pass N by reference to select functions to prevent gcc from allocating more stack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29423 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 01:07:48 +00:00
Evan Cheng
6966c48767
Remove an unneeded match condition: the type check for root node has been
...
moved to outside the actual select routine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29415 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-31 19:01:58 +00:00
Andrew Lenharth
e36de54797
fix externals
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29409 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-29 04:27:34 +00:00
Evan Cheng
b6ee7f73e5
Split each select function for a particular opcode into multiple ones. One
...
per possible ValueType of the node. e.g. Select_add is split into Select_add_i8,
Select_add_i16, etc.
For opcodes which do not produce a non-chain result, it is split on the
ValueType of its first non-chain operand. e.g. Select_store.
On X86 / Mac OS X, Select_store used to be the largest function. It had a stack
frame size of 8.5k. Now the largest one is Store_i32 with a frame size of 3.1k.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29404 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:51:01 +00:00
Evan Cheng
dc7a66a081
Clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29378 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 01:19:22 +00:00
Patrick Jenkins
0dd7fb2766
Removed some unneccesary printing from the nightly tester.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29377 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 01:06:18 +00:00
Evan Cheng
f2dfafcbc1
Rename IsFoldableBy to CanBeFoldedleBy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29376 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 01:03:48 +00:00
Evan Cheng
2641cad180
Remove InFlightSet hack. No longer needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29373 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 00:47:19 +00:00
Reid Spencer
1bc686433b
Changes to support cross-compiling LLVM. The GenLibDeps.pl script needs to
...
have a compile-host version of "nm", not build-host. In order to effect this
we must use autoconf to determine the correct "nm" to use and propagate that
through the makefiles, through llvm-config and finally to GenLibDeps.pl as
an optional argument.
Patch contributed by Anton Korobeynikov. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29368 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 23:00:30 +00:00
Patrick Jenkins
d4623e974c
Removed some unneccesary print statemnts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29362 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 21:01:39 +00:00
Patrick Jenkins
96970e9a5c
ChangeDir now returns the correct value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29361 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 20:21:26 +00:00
Evan Cheng
3aac4d58e4
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29359 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 19:59:34 +00:00
Patrick Jenkins
278a6b5045
Fixed a stupid error where changedir returned false upon success.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29357 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 19:22:06 +00:00
Patrick Jenkins
c281b0d9a4
Added more descriptive output to singlesource,multisource tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29353 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 19:00:01 +00:00
Patrick Jenkins
59d1a66b82
Removed some clutter that was left over from development.
...
Changed how changedir worked. Hopefully now when it fails it will tell us why.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29352 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 18:28:50 +00:00
Evan Cheng
b2c121ac14
Let each target specific isel provide routine to check if a chain producing node is foldable by another.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29335 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 06:36:49 +00:00
Patrick Jenkins
cc8414ffdb
I made a stupid mistake when adding support for -use-gmake. ~PJ
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29321 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 01:24:35 +00:00
Patrick Jenkins
1cd469124c
added support for the -use-gmake option. This will come in handy when running the test on SunOS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29319 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 01:17:17 +00:00
Patrick Jenkins
f58473f416
This change will allow support for SunOS to the testing script. It adds a check to see if we're running on SunOS and if so, then uses gmake instead of make.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29316 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 01:03:46 +00:00
Evan Cheng
233baf1c4b
Fix for bug 840. Only use noinline attribute if gcc version >= 3.4
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29311 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 23:06:27 +00:00
Reid Spencer
c152efda47
Add a feature for debugging library dependency cycles, -why option. This
...
implies -flat and will produce a list of all the symbols for each library
that another library depends on. Run the output through c++filt for
better readability. Also, don't generate a temporary file for storing the
dependent library names. Perl can handle it in a %hash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29273 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 19:12:06 +00:00
Patrick Jenkins
26ba6095df
Fixing a syntax error and adding buildtype to the .a and .o file size information.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29270 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-23 22:57:28 +00:00
Patrick Jenkins
169357e3dd
When the ability to gather .a and .o file sizes was added, it changed the directory the perl script was in so when we tried to run dejagnu tests, everything failed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29269 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-23 21:38:07 +00:00
Patrick Jenkins
fcf207b3f7
added status message during nightly test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29263 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-22 00:00:08 +00:00
Evan Cheng
e6389935a9
Removed a hack intended to allow (store (op (load))) folding. Will handle this with preprocessing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29258 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 22:19:51 +00:00
Patrick Jenkins
25c2a2f570
Added a check to skip dejagnu test results gathering if we did not run dejagnu tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29252 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 21:58:06 +00:00
Patrick Jenkins
b67e118545
Fixed an issue of variable scope that prevented file size from being submitted to the server.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29251 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 21:43:09 +00:00
Jim Laskey
cd4317efcf
Eliminate data relocations by using NULL instead of global empty list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29250 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 21:15:20 +00:00
Jim Laskey
60f09928a0
Use an enumeration to eliminate data relocations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29249 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 20:57:35 +00:00
Patrick Jenkins
6412f72b09
Added code to get .a and .o file sizes and submit them to the server in the nightly report.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29248 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 19:51:40 +00:00
Patrick Jenkins
49717a4ee5
Fixed issue where nightly test always tells you you need to use -nickname
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29241 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 01:39:42 +00:00
Patrick Jenkins
1f556c29e3
The nightly tester will no longer report numbers instead of tests performed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29240 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 01:34:01 +00:00
Evan Cheng
eb1f40d3af
Also checks for noResults field.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29235 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 23:36:20 +00:00
Patrick Jenkins
514e258994
We now fail and print an error message if a nightly tester does not specify a nickname on the command line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29230 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 22:28:43 +00:00
Patrick Jenkins
ba20471c75
Fixed a problem that caused the script to abort right before it sent out the information
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29218 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 16:54:43 +00:00
Patrick Jenkins
65c7ea035c
Removed the portion that determines which tests are newly passing/failing because we no longer keep the previos days list on the testing machines.
...
Added functionality to send lists of all tests, all passing tests, all failing tests all unexpected failing tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29209 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 17:52:51 +00:00
Evan Cheng
3b0c0148ed
Make sub- and super- register classes const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29200 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 05:58:18 +00:00
Chris Lattner
a6dc9fb745
Fix a bug handling instructions, like blr, which just consist of a text
...
string. The return value of printInstruction should be true for these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29196 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 01:39:06 +00:00
Evan Cheng
e6f32034db
Add code size to target instruction use it as the 3rd isel sorting tie-breaker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29193 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 00:24:41 +00:00
Evan Cheng
6f6602ce42
Make sub- super- reg-class tables static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29190 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 22:18:31 +00:00
Patrick Jenkins
1b629444e7
yet another change to get the correct gcc version for the nightly test results.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29188 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 21:21:53 +00:00
Chris Lattner
195bb4a7b0
Fix case where identical cases were not detected across case #0 , because
...
instructions not handled would have a case value of #0 , throwing things off.
This marginally shrinks the X86 asmprinter, but shrinks the sparc asmwriter
by 25 lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29187 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 19:27:30 +00:00
Chris Lattner
0a01212857
Fix an accidentally duplicated line that caused tblgen to crash on itanium.
...
Add an assert that catches the real problem earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29185 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 19:06:01 +00:00
Chris Lattner
96c1ade5c3
Maximally group commands. When all instructions within a command set have a
...
series of identical commands, handle them all with one switch. In the case
of the x86 at&t asm printer, only 3 switches are needed for all instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29184 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 18:28:27 +00:00
Chris Lattner
b84628679a
Change generator to remove operands as it processes them. No change in
...
generated file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29183 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:56:07 +00:00
Chris Lattner
191dd1f186
Handle the last operand more intelligently. When emitting the \n, also
...
return from the asmprinter to make the generated asmprinter both more
efficient and smaller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29182 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:50:22 +00:00
Chris Lattner
e7a589df09
Emit switches with 1/2 cases as unconditional code or an if/then/else for
...
tidyness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29181 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:43:54 +00:00
Chris Lattner
b51ecd4dd9
Steal bits from the asm string index to use for operand information. On both
...
x86 and ppc, this gets us 4 more bits to play with, since the string indices
both only use 12 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29180 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:38:46 +00:00
Chris Lattner
5561640043
Merge operand info and asmstr idx into a single 32-bit field. No other change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29179 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:32:27 +00:00
Patrick Jenkins
f263704321
Minor output changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29178 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:21:30 +00:00
Chris Lattner
bdff5f95b9
Completely change the structure of the generated asmprinter to be more table
...
based and less switch-statements-with-hundreds-of-cases based. This shrinks
the x86 asmprinters to about 1/3 their previous size.
Other improvements coming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29177 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:18:03 +00:00
Patrick Jenkins
adea55e3a5
If a gccpath is specified when invoking the nightly test script we will hopefully now use that gcc for the gcc version. Also fixed some 80 char column stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29162 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-17 16:41:19 +00:00
Evan Cheng
fb878a37ba
Use __attribute__((noinline)) only if compiled by gcc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29161 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-16 06:14:37 +00:00
Evan Cheng
f872940dfc
Parameterize target node ValueType to allow more sharing of emit functions.
...
Also reduce the number of arguments passed to emit functions and removed a
hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29160 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-16 06:12:52 +00:00
Evan Cheng
fceb57a917
Reduce instruction selection code size and stack frame size by factoring
...
code that emit target specific nodes into emit functions that are uniquified
and shared among selection routines.
e.g. This reduces X86ISelDAGToDAG.o (release) from ~2M to ~1.5M. Stack frame
size of Select_store from ~13k down to ~8k.
This is the first step. Further work to enable more sharing will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29158 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-15 08:45:20 +00:00
Chris Lattner
fb5115e84c
The generated index array should be const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29155 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 23:14:02 +00:00
Chris Lattner
6af022f255
Emit the string information for the asm writer as a single large string
...
and index into it, instead of emitting it like this:
static const char * const OpStrs[] = {
"PHINODE\n", // PHI
0, // INLINEASM
"adc ", // ADC32mi
"adc ", // ADC32mi8
...
The old way required thousands of relocations that slows down link time and
dynamic load times.
This also cuts about 10K off each of the X86 asmprinters, and should shrink
the others as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29152 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 22:59:11 +00:00
Patrick Jenkins
79fbf7fe27
Fixed an issue where the user specified gcc was not the gcc we report to the nightly test server.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29144 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 20:44:09 +00:00
Jim Laskey
cb12903147
Clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29137 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 22:17:08 +00:00
Jim Laskey
f1b05bf755
1. Simplfy bit operations.
...
2. Coalesce instruction cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29135 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 21:02:53 +00:00
Patrick Jenkins
0b7ae54da7
Syntax error. I will run perl -c before commiting perl scripts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29133 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 16:58:42 +00:00
Patrick Jenkins
4bde3bc5ea
Fixed some small bugs exposed when trying to get a sparc machine to run the script. Specifically some misnamed variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29132 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 16:56:48 +00:00
Jim Laskey
ed393433d2
Move base value of instruction to lookup table to prepare for case reduction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29122 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 19:15:43 +00:00
Jim Laskey
16d42c6ac6
It was pointed out that DEBUG() is only available with -debug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29106 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:25:13 +00:00
Jim Laskey
e37fe9b3a1
Ensure that dump calls that are associated with asserts are removed from
...
non-debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29105 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 17:58:07 +00:00
Jim Laskey
1406bdab85
Reduce bloat in target libraries by removing per machine instruction assertion
...
from code emitter generation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29097 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 01:25:59 +00:00
Patrick Jenkins
7267bd6c1a
Fixed some output issues where newlines were not being printed after error messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29082 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 18:35:41 +00:00
Patrick Jenkins
7b4bb60e9a
Fixed an issue that tried to cat externalprogramstable.txt from the testresults directory when it doesnt exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29080 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 16:36:19 +00:00
Patrick Jenkins
00fbdf1471
Syntax error in NewNightlyTest.pl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29074 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:47:24 +00:00
Patrick Jenkins
4c4e356037
Fixed a variable naming issue for the External Program Results table. Also fixed an issue with printing the sent data to a sentdata.txt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29073 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:40:34 +00:00
Patrick Jenkins
215b48f9a8
Updated comments at top of file to reflect relevant command line options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29065 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 18:50:51 +00:00
Patrick Jenkins
a5c04d6806
Added the -noremoveresults option which will not remove the $WebDir from the nightly test runs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29056 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:31:38 +00:00
Patrick Jenkins
b26d39eae5
Fixed variable naming issue that prevented $Prefix-senddata.txt from having any information
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29046 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:08:02 +00:00
Chris Lattner
a539c03271
tblgen uses EH
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29034 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 00:21:17 +00:00
Patrick Jenkins
c6d945f91f
Fixed a bug that looked for -Warnings.txt and -Tests.txt in ridiculous places.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29027 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-06 22:32:15 +00:00
Patrick Jenkins
fe030d7869
The first commit of NewNightlyTest.pl which instead of generating a webpage submits the results of the test to a central server for storage and display.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29023 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-06 21:19:32 +00:00
Evan Cheng
322812e603
Ugly hack! Add helper functions InsertInFlightSetEntry and
...
RemoveInFlightSetEntry. They are used in place of direct set operators to
reduce instruction selection function stack size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28987 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-29 23:57:05 +00:00
Evan Cheng
2a0f984771
Added -disable-cbe to disable C backend testing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28981 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-29 00:54:37 +00:00
Evan Cheng
14c299ebca
Fix -extraflags
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28937 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 20:30:28 +00:00
Evan Cheng
6d11ddbd8d
Rename EXTRA_FLAGS to EXTRA_OPTIONS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28872 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 18:49:13 +00:00
Chris Lattner
02cdb377ec
Fix an error message regression. Print:
...
LI8: (LI8:i64 (imm:i64):$imm)
instead of:
LI8: (LI8:MVT::i64 (imm:MVT::i64):$imm)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28868 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:56:37 +00:00
Chris Lattner
186fb7d131
Don't require src/dst patterns to be able to fully resolve their types,
...
because information about one can help refine the other. This allows us to
write:
def : Pat<(i32 (extload xaddr:$src, i8)),
(LBZX xaddr:$src)>;
as:
def : Pat<(extload xaddr:$src, i8),
(LBZX xaddr:$src)>;
because tblgen knows LBZX returns i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28865 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:31:27 +00:00
Chris Lattner
a354849c27
Make sure to use the result of the pattern to infer the result type of the
...
instruction, and the result type of the instruction to refine the pattern.
This allows us to write things like this:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
as:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (VR128:$src)>
and fixes a ppc64 issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28863 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:18:02 +00:00
Chris Lattner
8f60d54fb1
Improve a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28833 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:25:06 +00:00
Evan Cheng
8d3af5e7d0
Instructions with variable operands (variable_ops) can have a number required
...
operands. e.g.
def CALL32r : I<0xFF, MRM2r, (ops GR32:$dst, variable_ops),
"call {*}$dst", [(X86call GR32:$dst)]>;
TableGen should emit operand informations for the "required" operands.
Added a target instruction info flag M_VARIABLE_OPS to indicate the target
instruction may have more operands in addition to the minimum required
operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28791 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 07:22:16 +00:00
Evan Cheng
d7c2c86239
Allow more use of iPTR in patterns.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28790 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 00:16:37 +00:00
Evan Cheng
e945f4d3d4
Added support for variable_ops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28788 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 22:22:20 +00:00
Evan Cheng
bc6b86a89e
Fix support for optional input flag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28784 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 19:27:50 +00:00
Evan Cheng
50c997e26a
getOperandNum(): error if specified operand number is out of range.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28775 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-13 21:47:27 +00:00
Chris Lattner
f6dc20fcc0
Add a new -compileflags options, remove old externals location specifiers.
...
People should just use -with-externals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28756 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12 19:03:17 +00:00
Chris Lattner
11bcd28dff
Wrap to 80 cols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28743 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09 23:59:44 +00:00
Evan Cheng
19fd7ef730
Add -extraflags FLAGS to pass extra compilation options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28707 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 05:28:07 +00:00
Reid Spencer
d386e55e33
Don't build tblgen with -pedantic or -Wno-long-long
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 18:20:23 +00:00
Evan Cheng
553ef1be94
Can't trust NodeDepth when checking for possibility of load folding creating
...
a cycle. This increase the search space and will increase compile time (in
practice it appears to be small, e.g. 176.gcc goes from 62 sec to 65 sec)
that will be addressed later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28476 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-25 20:16:55 +00:00
Evan Cheng
b0793f9741
Fixed a really ugly bug. The TableGen'd isel is not freeing the "inflight set"
...
correctly. That is causing non-deterministic behavior (and possibly preventing
some load folding from happening).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28458 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-25 00:21:44 +00:00
Chris Lattner
243be2c80d
Don't make zero-sized static arrays
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28448 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 17:31:02 +00:00
Chris Lattner
d74ea2bbd8
Patches to make the LLVM sources more -pedantic clean. Patch provided
...
by Anton Korobeynikov! This is a step towards closing PR786.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 17:04:05 +00:00
Evan Cheng
d15531b430
Now that iPTR is a fully resolved type. We end up losing the type check for
...
patterns that look like this:
def : Pat<(i32 (X86Wrapper tconstpool :$dst)), (MOV32ri tconstpool :$dst)>;
InsertOneTypeCheck should copy the type from the resolved pattern to the
unresolved one as long as there types are different.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28389 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-19 07:24:32 +00:00
Evan Cheng
21d03f2de0
lib/Target/Target.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28386 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-18 20:42:07 +00:00
Evan Cheng
764811f145
Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28376 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-18 00:08:46 +00:00
Evan Cheng
6b12516f1a
Typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28366 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-17 20:55:51 +00:00
Evan Cheng
2618d07765
Remove PointerType from target definition. Use abstract type MVT::iPTR to
...
represent pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28363 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-17 20:37:59 +00:00
Evan Cheng
44a65fa552
Allow patterns to refer to physical registers that belong to multiple
...
register classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28323 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 07:05:30 +00:00
Reid Spencer
dd73e7fa09
Don't try to reference uninitialized data. Make sure we can find "nm".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28277 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-13 02:48:45 +00:00
Evan Cheng
9812f1ca97
Noop instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28241 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 07:47:00 +00:00
Evan Cheng
d9d4518a86
Unused instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28240 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 07:42:01 +00:00
Evan Cheng
2ca0efd71a
Also add super- register classes info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28221 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11 07:30:26 +00:00
Evan Cheng
3eff89bf89
Watch out for the following case:
...
1. Use expects a chain output.
2. Node is expanded into multiple target ops.
3. One of the inner node produces a chain, the outer most one doesn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28209 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10 02:47:57 +00:00
Evan Cheng
045953c37a
Fix a load folding bug. It is exposed by a multi- resulting instructions
...
def : Pat<> pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28208 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10 00:05:46 +00:00
Evan Cheng
8d58e6a9be
Add sub-register class information.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09 06:34:26 +00:00
Reid Spencer
829bcb172a
Attempt to get this script working on Darwin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28085 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 18:16:01 +00:00
Evan Cheng
108714c14f
Set isStore of instructions with ISD::TRUNCSTORE root node.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28075 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 02:08:34 +00:00
Chris Lattner
eff5c36238
Put instruction names into the first non TargetInstrInfo namespace found.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28043 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-01 23:46:16 +00:00
Chris Lattner
a1e8a80b96
instructions can be in different namespaces. Make sure to use the right
...
one for each instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28038 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-01 17:01:17 +00:00
Evan Cheng
afba446d99
Formating
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28036 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-01 09:30:17 +00:00
Evan Cheng
6f6360d9ab
Mark instructions whose pattern is (store ...) isStore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28032 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-01 09:04:20 +00:00
Evan Cheng
55d0fa1bfa
Remove the temporary option: -no-isel-fold-inflight
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28012 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-28 18:54:11 +00:00
Evan Cheng
61a0209a8a
When isel'ing a node, mark its operands "InFlight" before selecting them. These
...
nodes should not be folded into other nodes.
This fixes the miscompilation of PR 749.
Temporarily under flag control.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28002 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-28 02:08:10 +00:00
Nate Begeman
37efe67645
JumpTable support! What this represents is working asm and jit support for
...
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-22 18:53:45 +00:00
Reid Spencer
444b2cf4c3
Remove the extraneous --defined-only option to nm. This is the default and
...
some versions of nm don't recognize it (its a gnu option).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27928 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-21 05:29:25 +00:00
Reid Spencer
44fa691873
Don't require the "dot" program if -flat option is given, and don't produce
...
any of the fancy graphs or other output. Just produce the flat, makefile
style output on stdout.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27921 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 23:09:57 +00:00
Reid Spencer
ca40bb95b1
Remove the llvm-config directory. Its now in tools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27918 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 21:16:32 +00:00
Reid Spencer
ca432acc52
llvm-config doesn't live here anymore ==> tools
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27917 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 21:15:41 +00:00
Reid Spencer
d075dfb0cf
Update the library dependencies for 1.8 with SparcV9 now gone.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27910 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 19:50:53 +00:00
Reid Spencer
118af5f6d6
Remove Burg as a directory to be considered.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27906 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 18:47:13 +00:00
Chris Lattner
ab38f5be3a
remove some stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27903 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 18:43:59 +00:00
Reid Spencer
63ed92e882
Burg not needed any more now that SparcV9 is gone.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27901 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 18:39:19 +00:00
Chris Lattner
719c2fc97f
Don't fill in fields that no longer exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27898 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 18:32:22 +00:00
Evan Cheng
c81d2a041d
Rename AddedCost to AddedComplexity.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27841 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-19 20:36:09 +00:00
Evan Cheng
5941320c0d
Allow "let AddedCost = n in" to increase pattern complexity.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27834 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-19 18:07:24 +00:00
Chris Lattner
309db81c10
Fix a build failure on Vladimir's tester.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27785 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-18 00:21:25 +00:00
Chris Lattner
8c3e847159
Encode a cost of zero as a cost of 1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27745 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 05:25:16 +00:00
Chris Lattner
195d8adac9
Really, I can count!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27743 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 05:05:52 +00:00
Chris Lattner
cf1f6440d9
assign stable opcodes to the various altivec ops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27741 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:47:18 +00:00
Chris Lattner
2f97623bda
PPCPerfectShuffle.h is autogenerated, don't include it in the LOC counts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27740 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:46:09 +00:00
Chris Lattner
4ad53bdd19
Rename BuildShuffleTable -> PerfectShuffle
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27738 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:35:34 +00:00
Chris Lattner
3033d4d375
rename the table
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27737 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:33:35 +00:00
Chris Lattner
27e98aa07c
Initial checking of a perfect shuffle generation program for 4-element
...
Altivec vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27736 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:30:41 +00:00
Reid Spencer
43fdfdcfd1
Allow an option, -with-externals, to be specified that provides the location
...
of the external tests. This turns into --with-externals option to configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27700 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-14 13:53:56 +00:00
Reid Spencer
28421d0a80
Add missing things to the distribution.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27650 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 06:27:20 +00:00
Chris Lattner
7f71e21972
one too many l's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27641 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 04:21:31 +00:00
Reid Spencer
42aa3a59c9
Fix a typo in the name of a file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 23:15:10 +00:00
Reid Spencer
db4f336165
Additional files to distribute.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27627 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:54:01 +00:00
Reid Spencer
d853fd6b6d
Add the llvm-config directory to the EXTRA_DIST line so it gets distributed
...
even though its not being built currently. This prevents dist-check from
failing because configure can't find llvm-config.in.in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27623 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 19:06:14 +00:00
Andrew Lenharth
65c1e46ebd
make recovering running_Olden data easier when the nightly tester eats the graphs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27615 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 17:41:19 +00:00
Chris Lattner
4b2362e247
Fix a typo: Instr* -> Intr*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27568 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-10 22:02:59 +00:00
Chris Lattner
91ded08224
Infer element types for shuffle masks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27456 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06 20:36:51 +00:00
Chris Lattner
52793e2c41
rename a method, to avoid confusion with llvm intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27455 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06 20:19:52 +00:00
Chris Lattner
5348e393df
Adjust the Intrinsics.gen interface a little bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27345 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-02 03:35:30 +00:00
Chris Lattner
b83169195c
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27313 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-31 21:54:11 +00:00
Chris Lattner
711e5d96aa
Generalize the previous binary operator support and add a string concatenation
...
operation. This implements Regression/TableGen/strconcat.td.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27312 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-31 21:53:49 +00:00
Chris Lattner
ffa4fdcd17
Allow bits init values to be used in patterns, turn them into ints.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27286 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-31 05:25:56 +00:00
Chris Lattner
f124b46b4f
Final bugfix for PR724. GCC won't inline varargs functions, so use one to
...
validate the prototype of intrinsic functions. This prevents GCC from going
crazy and inlining too much stuff, eventually running out of memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27283 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-31 04:48:26 +00:00
Chris Lattner
c4d9b240b1
When emitting code for the verifier, instead of emitting each case statement
...
independently, batch up checks so that identically typed intrinsics share
verifier code. This dramatically reduces the size of the verifier function,
which should help avoid GCC running out of memory compiling Verifier.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27281 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-31 04:24:58 +00:00
Chris Lattner
8177969be0
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27264 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-30 22:51:12 +00:00
Chris Lattner
8c06318821
Implement Regression/TableGen/DagDefSubst.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27263 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-30 22:50:40 +00:00
Evan Cheng
f065a6f711
Don't sort the names before outputing the intrinsic name table. It causes a
...
mismatch against the enum table.
This is a part of Sabre's master plan to drive me nuts with subtle bugs that
happens to only affect x86 be. :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27237 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 22:25:56 +00:00
Chris Lattner
b026e70462
Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum value. Split them into separate enums.
...
Also, don't emit dynamic checks when we can compute them statically
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27202 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 00:41:33 +00:00
Chris Lattner
6a160fba22
Only compute intrinsic valuetypes when in a target .td file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27197 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 00:15:00 +00:00
Chris Lattner
76f8c7c4cc
revert this, it breaks things.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27196 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 00:03:08 +00:00
Chris Lattner
8850a1bcef
Add support for decoding iPTR to the right pointer type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27188 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-27 22:48:18 +00:00
Chris Lattner
2c4e65d460
Print error messages like this:
...
tblgen: In STVEBX: Intrinsic 'llvm.ppc.altivec.stvebx' expects 3 operands, not 2 operands!
instead of like this:
tblgen: In STVEBX: Intrinsic 'intrinsic_void expects 3 operands, not 2 operands!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27185 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-27 22:21:18 +00:00
Chris Lattner
5c4c774c75
Add a missing check which cause an invalid .td file to crash tblgen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27126 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-25 22:12:44 +00:00
Chris Lattner
9bf2d3e6d6
When failing selection for an intrinsic, print this:
...
Cannot yet select: intrinsic %llvm.ppc.altivec.lvx
instead of this:
Cannot yet select: 0x9b047e0: v4i32,ch = INTRINSIC 0x9b04540:1, 0x9b04710, 0x9b04790, 0x9b04540
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27110 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-25 06:47:53 +00:00
Chris Lattner
5a1df389a6
Change approach so that we get codegen for free for intrinsics. With this,
...
intrinsics that don't take pointer arguments now work. For example, we can
compile this:
int test3( __m128d *A) {
return _mm_movemask_pd(*A);
}
int test4( __m128 *A) {
return _mm_movemask_ps(*A);
}
to this:
_test3:
movl 4(%esp), %eax
movapd (%eax), %xmm0
movmskpd %xmm0, %eax
ret
_test4:
movl 4(%esp), %eax
movaps (%eax), %xmm0
movmskps %xmm0, %eax
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27090 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 23:10:39 +00:00
Chris Lattner
947604b0e2
fix 80 column violations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27084 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 21:52:20 +00:00
Chris Lattner
550525e3cf
Parse intrinsics correctly and perform type propagation. This doesn't currently
...
emit the code to select intrinsics, but that is next :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27082 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 21:48:51 +00:00
Jim Laskey
47622e3721
Add dwarf register numbering to register data.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27081 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 21:15:58 +00:00
Chris Lattner
2ca956f8de
Make sure to initialize the TheDef field!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27078 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 20:25:01 +00:00
Chris Lattner
43fbbc36dc
Move CodeGenIntrinsic implementation to CodeGenTarget.cpp with the rest of
...
the CodeGen* implementations.
Parse the MVT::ValueType for each operand of the intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27075 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 19:49:31 +00:00
Chris Lattner
7056de375d
extract some more information from the intrinsic table
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27022 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 01:13:55 +00:00
Reid Spencer
1c070fc10b
Remove the interpreter component as its not working at the moment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27021 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 01:10:39 +00:00
Reid Spencer
96bfd4a40e
Add a .cvsignore file to get rid of notices about gram.tab.[ch]
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27012 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:46:47 +00:00
Reid Spencer
4d9f05cdcb
Add new generated files to be ignored.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27011 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:45:32 +00:00
Reid Spencer
f39fcc787b
Ignore temporary files generated by building.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27010 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:44:24 +00:00
Reid Spencer
b195d9d365
Update to llvm-config tool, by Erik Kidd:
...
1. Check for Perl and only build llvm-config if its available.
2. Add some virtual components
3. Don't depend on "standard" location for Perl, but configured location
4. Document the tool with a POD file.
This version is now ready for testing by users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27005 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:21:29 +00:00
Reid Spencer
2fee235bf3
A little script to find LLVM symbols. Ideally this would use c++filt for
...
both input and output to render everything in C++, but that will be the
next patch. For now, it just runs nm and greps each .o or .a file for
the desired symbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27003 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:04:50 +00:00
Reid Spencer
025213e9f2
Don't print out ugly command line when building LibDeps.txt.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27001 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 22:42:50 +00:00
Reid Spencer
ff9b038b20
Updated for library changes:
...
1. LLVMCBackend.o now depends on LLVMCodeGen.o (why we're not sure)
2. LLVMExecutionEngine.o no longer depends on LLVMInterpreter.o nor LLVMJIT.o
Thanks, Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26976 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 06:15:27 +00:00
Evan Cheng
83e1a6ab95
Allow result node to be a simple leaf node. This enable bitconvert patterns
...
like this:
def : Pat<(v4i32 (bitconvert (v4f32 VR128:$src))), (v4i32 VR128:$src)>;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26968 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 02:35:32 +00:00
Reid Spencer
f2722ca339
These changes are necessary to support the new llvm-config tool. llvm-config
...
is a handy tool for users of LLVM who want to be able to quickly get
information about LLVM's configuration. It is intended to be used in the
command line of other tools. Documentation will be forthcoming in a
subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26952 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-22 15:59:55 +00:00
Evan Cheng
3a7a14b0ae
Don't forget to promote xform function to an explicit node for def : Pat<>
...
patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26929 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-21 20:44:17 +00:00
Chris Lattner
4e2f54d99e
minor code simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26918 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-21 06:42:58 +00:00
Reid Spencer
7d6a5155a4
Cause the various warnings list to be generated via a <ul> list with
...
text enclosed in <tt>. This ensures that (a) the text is in a fixed width
font (to indicated generated text) and (b) the text wraps without causing
the page width to be extended. The main result of this is that the report
will wrap to conform to the window size in which it is displayed instead of
having a very wide length if a warning message is long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26916 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-21 01:21:39 +00:00
Evan Cheng
863bf5afb0
The node wrapped in PatLeaf<> should be treated as a leaf even if it isn't
...
one, i.e. don't select it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26909 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-20 22:53:06 +00:00
Evan Cheng
f26ba69725
It should be ok for a xform output type to be different from input type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26899 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-20 08:09:17 +00:00
Evan Cheng
420132e1eb
Copy matching pattern's output type info to instruction result pattern.
...
The instruction patterns do not contain enough information to resolve the
exact type of the destination if it of a generic vector type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26892 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-20 06:04:09 +00:00
Chris Lattner
697f88456c
Add a new SDTCisIntVectorOfSameSize type constraint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26890 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-20 05:39:48 +00:00
Reid Spencer
355ef219d2
The library dependency file in flat format. This file is generated by the
...
makefile using the utils/GenLibDeps.pl script with the -flat option. It
records the dependencies between libraries in such a way that the
llvm-config script can easily read it (in makefile dependency format).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26876 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 22:12:30 +00:00
Reid Spencer
0fab2b15ab
First cut at the Makefile for llvm-config. This initial version just provides
...
the rule for building the LibDeps.txt file using GenLibDeps.pl. This needs
to be done from time to time manually in order to keep LibDeps.txt up to
date.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26875 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 22:10:53 +00:00
Reid Spencer
0bf1177f6f
Add a -flat option for generating the library dependencies in a flat
...
format with one library per line, similar to a makefile dependency list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26873 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 22:08:01 +00:00
Evan Cheng
dcfccac13b
getEnumName() missed v8i8, v4i16, and v2i32 types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26869 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 07:57:34 +00:00
Chris Lattner
485c00f7e8
Fix miscodegen of V_SET0 in PPC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26836 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-18 00:40:36 +00:00
Reid Spencer
a165d57dad
Use the <tt> tag instead of <pre> tag to get code/file/warning lists to
...
wrap but also still be in a fixed-width font.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26825 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-17 17:43:01 +00:00
Chris Lattner
0da3130a98
allow the GCCBuiltinName field to be optional
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26784 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 19:15:26 +00:00
Jeff Cohen
71c3bc3d96
Fix VC++ build error.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26773 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 02:51:05 +00:00
Chris Lattner
ad45b00d6a
remove typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26772 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 02:05:38 +00:00
Chris Lattner
fda6affb95
Autogenerate a table of intrinsic names, so we can map from intrinsic ID to
...
LLVM intrinsic function name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26771 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 01:55:21 +00:00
Chris Lattner
3f8b8913bc
Autogenerate code to map from GCC builtin to LLVM intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26770 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 01:33:26 +00:00
Reid Spencer
09a053a777
Allow a sequence of digits at the end of the directory name when trying to
...
determine the top directory. This allows the tool to find the correct top
directory when you have something like:
/x/llvm
/x/llvm2
/x/llvm3
Previously the scripts would always find /x/llvm even if you were in the
llvm2 or llvm3 directory because the pattern didn't allow the digits at
the end of the path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26751 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 06:08:05 +00:00
Reid Spencer
b7b8317388
Change llvm.cs.uiuc.edu -> llvm.org
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26750 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 06:05:05 +00:00
Reid Spencer
767a25b878
Add a newline at the end to avoid gcc warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26749 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 05:59:52 +00:00
Reid Spencer
9dce2b3380
Convert llvm.cs.uiuc.edu -> llvm.org
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26748 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 05:54:52 +00:00
Chris Lattner
022f64fbbc
emit a mapping from LLVM intrinsic -> GCC builtins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26736 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-13 23:08:44 +00:00
Chris Lattner
18faf5d9f7
Verify that packed type operands have the right size and base type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26735 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-13 22:38:57 +00:00
Chris Lattner
78167faa18
fix pasto in generate assertion msg
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26706 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-11 00:20:47 +00:00
Chris Lattner
4e5f35973c
generate side-effect info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26672 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 22:37:52 +00:00
Chris Lattner
6448ee44c6
Parse mod/ref properties, autogen mod/ref information
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 22:30:49 +00:00
Chris Lattner
f97a00e681
parse intrinsic types
...
autogenerate an intrinsic verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26666 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 22:05:04 +00:00
Chris Lattner
9b843b2494
autogenerate the function name recognizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 20:34:19 +00:00
Evan Cheng
ed66e855ec
Temporary hack to enable more (store (op (load ...))) folding. This makes
...
it possible when a TokenFactor is between the load and store. But is still
missing some cases due to ordering issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 08:19:11 +00:00
Evan Cheng
6f8aaf2cb0
Don't generate silly matching code like this:
...
if (N1.getOpcode() == ISD::ADD &&
...)
if (... &&
(N1.getNumOperands() == 1 || !isNonImmUse(N1.Val, N10.Val))) &&
...)
TableGen knows N1 must have more than one operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26592 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-07 08:31:27 +00:00
Chris Lattner
56879b2d96
Silence a warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26508 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 19:34:28 +00:00
Chris Lattner
b672d981a8
Fix pasteo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26499 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 06:13:41 +00:00
Chris Lattner
3b2397211b
remove a bunch of long-dead testing code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26497 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 02:34:28 +00:00
Chris Lattner
9e493cfcc3
initial implementation of intrinsic parsing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26495 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 02:32:46 +00:00
Chris Lattner
3d87811ce0
remove out of date comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26492 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 02:04:07 +00:00
Chris Lattner
ed5424196d
Add support for "-Ifoo" in addition to "-I foo"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26487 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:53:40 +00:00
Chris Lattner
c1d6e4eba7
Regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26486 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:47:37 +00:00
Chris Lattner
d9f5d90af1
add support for multiple include directories
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26485 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:47:14 +00:00
Evan Cheng
9073dea7c0
New vector type v2f32.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26437 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 01:10:52 +00:00
Chris Lattner
fd105d464a
Select inline asm memory operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26349 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-24 02:13:31 +00:00
Evan Cheng
aea20f50e5
Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bit
...
packed word integer (v8i16), and 64-bit packed doubleword integer (v2i32).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26294 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-20 22:34:53 +00:00
Jeff Cohen
bce4805d6f
Fix bugs identified by VC++.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26287 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-18 03:20:33 +00:00
Evan Cheng
fbad70808c
Bump up pattern cost if the resulting instruction is marked
...
usesCustomDAGSchedInserter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26282 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-18 02:33:09 +00:00
Chris Lattner
bdd3c1604e
Check the new form for bison output into CVS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26208 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 07:24:01 +00:00
Chris Lattner
e8242b168c
Adjust to new form of handling lexer dependencies, this way shouldn't have
...
the problems the old way did.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26161 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 05:13:13 +00:00
Evan Cheng
67212a05e6
Call InsertISelMapEntry rather than map insertion operator to prevent overly
...
aggrssive inlining. This reduces Select_store frame size from 24k to 10k.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26095 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 22:12:27 +00:00
Evan Cheng
d7805a741d
Match getTargetNode() changes (now returns SDNode* instead of SDOperand).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26084 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 07:16:09 +00:00
Evan Cheng
34167215a8
Change Select() from
...
SDOperand Select(SDOperand N);
to
void Select(SDOperand &Result, SDOperand N);
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26067 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 00:37:58 +00:00
Evan Cheng
3468864f08
Added options -cflag, -cxxflags, and -ldflags to override the default C
...
compilation, C++ compilation, and linker options.
e.g. This is the options I use for testing on my x86 iMac:
nice ./NightlyTest.pl -release -cflags "-Os -DNDEBUG -fomit-frame-pointer" -cxxflags "-Os -DNDEBUG -finline-functions -felide-constructors -fomit-frame-pointer"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26057 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-08 09:08:06 +00:00
Evan Cheng
917707a73f
Remove -pedantic. It no longer works.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26055 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-08 07:28:22 +00:00
Evan Cheng
21ad392ee6
Hoist all SDOperand declarations within a Select_{opcode}() to the top level
...
to reduce stack memory usage. This is intended to work around the gcc bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26026 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-07 00:37:41 +00:00
Chris Lattner
04cadb3684
Add support for modifier strings in machine instr descriptions. This allows
...
us to avoid creating lots of "Operand" types with different printers, instead
we can fold several together and use modifiers. For example, we can now use:
${target:call} to say that the operand should be printed like a 'call' operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26024 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 23:40:48 +00:00
Chris Lattner
b03b080a82
Simplify the variant handling code, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26023 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 22:43:28 +00:00
Evan Cheng
7cd19d038f
At the end of isel, select a replacement node for each handle that does not
...
have one. This can happen if a load's real uses are dead (i.e. they do not
have uses themselves).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26014 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 08:12:55 +00:00
Evan Cheng
024524fe9b
Name change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26013 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 06:03:35 +00:00
Evan Cheng
0a83ed506c
Handle HANDLENODE: just return itself.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26011 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-05 08:46:14 +00:00
Evan Cheng
e41bf82107
Allow more loads to be folded which were previously prevented from happening
...
due to ordering issue. i.e. they were selected for chain use first.
Now at load select time, check if it is being selected for a chain use and if
it has only a single real use. If so, return a HANDLENODE (with the load as
its operand) in its place and record it.
When it is folded or the load is selected for a real use, the isel records it
as the replacement for the HANDLENODE. The replacement is done when all nodes
are selected.
This scheme exposed a couple of problems where cycles can happen. (See comments
in EmitMatchCode() for descriptions of the problems and their workaround /
solutions.) These problems have been resolved with a small compile time
penality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25995 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-05 06:43:12 +00:00
Evan Cheng
2216d8ad2f
Re-committing the last bit of change. It shouldn't break PPC this time.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25982 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-05 05:22:18 +00:00
Chris Lattner
9ed44818c5
Temporarily revert the last change, which breaks PPC and other targets that
...
DO select things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25970 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-04 09:23:06 +00:00
Evan Cheng
9c4815a036
Complex pattern's custom matcher should not call Select() on any operands.
...
Select them afterwards if it returns true.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25968 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-04 08:50:49 +00:00
Chris Lattner
3e1798086b
node predicates add to the complexity of a pattern. This ensures that the
...
X86 backend attempts to match small-immediate versions of instructions before
the full size immediate versions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25937 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-03 18:06:02 +00:00
Evan Cheng
e4a8a6e645
(store (op (load ...))) folding problem. In the generated matching code,
...
Chain is initially set to the chain operand of store node, when it reaches
load, if it matches the load then Chain is set to the chain operand of the
load.
However, if the matching code that follows this fails, isel moves on to the
next pattern but it does not restore Chain to the chain operand of the store.
So when it tries to match the next store / op / load pattern it would fail on
the Chain == load.getOperand(0) test.
The solution is for each chain operand to get a unique name. e.g. Chain10.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25931 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-03 06:22:41 +00:00
Chris Lattner
1cf9d961b2
add a note, ya knoe
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25880 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-01 19:12:23 +00:00
Evan Cheng
657416cfba
If a pattern's root node is a constant, its size should be 3 rather than 2.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25870 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-01 06:06:31 +00:00
Chris Lattner
d9aadd4d15
solaris won't clobber an existing symlink with ln -sf apparently
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25849 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-31 16:10:53 +00:00
Chris Lattner
273d463bef
implement test/Regression/TableGen/DagIntSubst.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25836 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-31 06:02:35 +00:00
Chris Lattner
7859313bae
simplify some code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25791 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 20:01:35 +00:00
Andrew Lenharth
8e51773bb7
it is nice not to chop off bits for those blessed with lots of bits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25766 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 05:22:37 +00:00
Andrew Lenharth
2cba57cb09
make the casts actually cast to the variable type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25765 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 05:17:22 +00:00
Andrew Lenharth
5c6bdf71d4
start of the 64bit safety cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25764 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 05:07:04 +00:00
Chris Lattner
24e00a4ac1
Emit series of conditionals with &&, emitting stuff like this:
...
if (N1.getOpcode() == ISD::LOAD &&
N1.hasOneUse() &&
!CodeGenMap.count(N1.getValue(0)) &&
!CodeGenMap.count(N1.getValue(1))) {
instead of this:
if (N1.getOpcode() == ISD::LOAD) {
if (N1.hasOneUse()) {
if (!CodeGenMap.count(N1.getValue(0))) {
if (!CodeGenMap.count(N1.getValue(1))) {
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25763 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 04:41:05 +00:00
Chris Lattner
8bc7472a0c
Factor matching code that is common between patterns. This works around
...
GCC not jump-threading across this common code, and produces far nicer
output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25762 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 04:25:26 +00:00
Chris Lattner
2bd4dd7668
Split out code generation from analysis from emission
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25759 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 02:57:39 +00:00
Chris Lattner
355408bcb7
move some code around, no change in the generated code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25758 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 02:43:35 +00:00
Chris Lattner
67a202bc42
now that we have control over emission of the code, emit the code using nested
...
"if" statements (indenting it appropriately, of course) instead of using goto's.
This inverts the logic for all of the if statements, which makes things simpler
to understand in addition to making the generated code easier to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25757 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-28 20:43:52 +00:00
Chris Lattner
8a0604b523
Change PatternCodeEmitter to emit code into a buffer instead of emitting it
...
directly to the output file. This makes things simple because the code doesn't
have to worry about indentation or the case when there is no goto. It also
allows us to indent the code better without touching everything :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25756 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-28 20:31:24 +00:00
Reid Spencer
24200d63fd
Make long warnings wrap and have less indent so other portions of the page
...
are not skewed out of view.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25753 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-28 19:44:48 +00:00
Chris Lattner
488580c1ed
Fit to 80 columns, no functionality change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25752 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-28 19:06:51 +00:00
Jeff Cohen
9b0ffca478
Teach tablegen to generate code that is VC++ warning-free.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25709 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 22:22:28 +00:00
Evan Cheng
c15d18c501
(store (op (load ...)), ...)
...
If store's chain operand is load, then use load's chain operand instead. If
it isn't (likely a TokenFactor), then do not allow the folding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25708 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 22:13:45 +00:00
Evan Cheng
19c9550744
Subtarget feature can now set any variable to any value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25678 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 08:09:42 +00:00
Chris Lattner
0cfcc1e807
Use printInlineAsm to, well, print inline asm's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25677 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 02:10:50 +00:00
Chris Lattner
aa77d77a43
PHI and INLINEASM are now builtin instructions provided by Target.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25673 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 01:45:06 +00:00
Chris Lattner
f52e2618f3
If we want to emit things in enum order, use getInstructionsByEnumValue to
...
get the order, don't compute it ourselves.
Don't emit stuff like (14<<0), emit 14 instead.
Don't attempt to get target properties for builtin instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25672 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 01:44:09 +00:00
Chris Lattner
387e4bdf00
There is at least a 'noitinerary' itinerary now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25671 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 01:41:55 +00:00
Chris Lattner
188454ae2b
Don't emit JIT code for these instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 01:39:38 +00:00
Chris Lattner
fabcb7abc5
Teach the dag selectors to select InlineAsm nodes.
...
Aren't we happy the pattern selectors are almost all gone?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25666 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 23:08:55 +00:00
Evan Cheng
1feeeecf4c
Another folding problem: if a node r/w chain or flag, don't fold it if it
...
has already been selected. The number of use check is not strong enough since
a node can be replaced with newly created target node. e.g. If the original
node has two uses, when it is selected for one of the uses it is replaced with
another. Each node now has a single use but isel still should not fold it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25651 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 19:13:45 +00:00
Evan Cheng
8eab3608de
Add a FIXME comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25635 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 02:13:31 +00:00
Evan Cheng
545977371a
Incoming (and optional) flag bugs. They may be embedded inside a inner node of
...
a pattern. Also, nodes which take incoming flag should not be folded if it has
more than one use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25627 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 00:22:25 +00:00