1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Commit Graph

39265 Commits

Author SHA1 Message Date
Duncan Sands
e52bc54496 If queried as to whether an operation is legal
for a particular MVT, return false if the type
is illegal rather than barfing.

llvm-svn: 52229
2008-06-12 09:01:30 +00:00
Matthijs Kooijman
3a11ccc589 Add line continuation character so the avoid dup loop header test actually runs.
llvm-svn: 52228
2008-06-12 08:49:04 +00:00
Gabor Greif
a90427821b op_iterator-ify some loops, fix 80col violations
llvm-svn: 52226
2008-06-11 21:38:51 +00:00
Anton Korobeynikov
74422b3cd0 Properly lower DYNAMIC_STACKALLOC - bracket all black magic with
CALLSEQ_BEGIN & CALLSEQ_END.

llvm-svn: 52225
2008-06-11 20:16:42 +00:00
Evan Cheng
7b7a321f64 For now, avoid generating FP select instructions in order to speculatively execute integer arithmetic instructions. FP selects are more likely to be expensive (even compared to branch on fcmp). This is not a wonderful solution but I rather err on the side of conservative.
This fixes the heapsort performance regressions.

llvm-svn: 52224
2008-06-11 19:18:20 +00:00
Evan Cheng
9b0c0a0f00 Avoid duplicating loop header which leads to unnatural loops (and just seem like general badness to me, likely to cause code explosion).
Patch by Florian Brandner.

llvm-svn: 52223
2008-06-11 19:07:54 +00:00
Gordon Henriksen
02d34b6a0c Don't send checkpoints to stderr for the vmcore.ml test.
llvm-svn: 52218
2008-06-11 14:58:01 +00:00
Matthijs Kooijman
0f9df32e12 Teach instruction combining about the extractvalue. It can succesfully fold
useless insert-extract chains, similar to how it folds them for vectors.

Add a testcase for this.

llvm-svn: 52217
2008-06-11 14:05:05 +00:00
Gabor Greif
c3d97cdecc remove bogus comment
llvm-svn: 52216
2008-06-11 13:53:41 +00:00
Gabor Greif
8617cb5391 op_iterator-ify dropAllReferences
llvm-svn: 52215
2008-06-11 11:45:26 +00:00
Duncan Sands
2a9c84481c Sometimes (rarely) nodes held in LegalizeTypes
maps can be deleted.  This happens when RAUW
replaces a node N with another equivalent node
E, deleting the first node.  Solve this by
adding (N, E) to ReplacedNodes, which is already
used to remap nodes to replacements.  This means
that deleted nodes are being allowed in maps,
which can be delicate: the memory may be reused
for a new node which might get confused with the
old deleted node pointer hanging around in the
maps, so detect this and flush out maps if it
occurs (ExpungeNode).  The expunging operation
is expensive, however it never occurs during
a llvm-gcc bootstrap or anywhere in the nightly
testsuite.  It occurs three times in "make check":
Alpha/illegal-element-type.ll,
PowerPC/illegal-element-type.ll and
X86/mmx-shift.ll.  If expunging proves to be too
expensive then there are other more complicated
ways of solving the problem.
In the normal case this patch adds the overhead
of a few more map lookups, which is hopefully
negligable.

llvm-svn: 52214
2008-06-11 11:42:12 +00:00
Gordon Henriksen
22f7a6eb91 Better test for availability of __gnu_cxx::stdio_filebuf.
If this doesn't work, I'll write a configure test.

llvm-svn: 52213
2008-06-11 10:46:24 +00:00
Matthijs Kooijman
511d6a5cd3 Clarify a comment.
llvm-svn: 52212
2008-06-11 09:00:12 +00:00
Gabor Greif
519129edc8 op_iterator-ify loops
llvm-svn: 52191
2008-06-10 22:03:26 +00:00
Duncan Sands
dd16b1d024 Small doc fix.
llvm-svn: 52190
2008-06-10 20:54:01 +00:00
Dale Johannesen
e86cbb7893 Use %link not %llvmgxx (which includes -c) to do the link.
The test still fails because an expected symbol is not
present, and I don't see why it should be.

llvm-svn: 52188
2008-06-10 18:01:54 +00:00
Dale Johannesen
c1d2ca1701 Suppress ObjC FE warnings, which cause the test to fail.
Warnings are legitimate.

llvm-svn: 52187
2008-06-10 18:00:45 +00:00
Dale Johannesen
6654d90831 Add -w to inhibit gcc warnings, which causes the
harness to fail the tests.  The warning all appear
legitimate.

llvm-svn: 52186
2008-06-10 18:00:09 +00:00
Dale Johannesen
47cee90b57 Fix parameter spelling: sse not sse1
llvm-svn: 52185
2008-06-10 17:57:58 +00:00
Matthijs Kooijman
3488e4542b Ignore stderr for some more tests that expect warnings there.
This fixes 2 testcases.

llvm-svn: 52184
2008-06-10 16:13:38 +00:00
Matthijs Kooijman
00a807266e Fix some more quoting issues in RUN lines, this time regarding unintended
variable expansions involving the $ character.

This fixes 4 tests that were not running properly before.

llvm-svn: 52183
2008-06-10 16:10:32 +00:00
Matthijs Kooijman
e8fb62fb3c Fix some escaping and quoting in RUN lines, mainly involving { and <. In two
cases quoting of <{ didn't work out, so I changed the grep to check for }>
instead.

This fixes 7 testcases that were not properly running before.

llvm-svn: 52182
2008-06-10 16:04:47 +00:00
Matthijs Kooijman
281711dc95 Remove double pipes in RUN commandlines.
This fixes 5 testcases that were not being run properly before.

llvm-svn: 52180
2008-06-10 15:11:36 +00:00
Matthijs Kooijman
98322ead14 Remove trailing whitespace after line continuations in test cases to them work.
This fixes two test cases that were not being run properly before.

llvm-svn: 52179
2008-06-10 15:07:07 +00:00
Matthijs Kooijman
15ab3c5f19 Let some more tests ignore expected output on stderr.
Also, use > %t instead of -o %t for output in one test since that also works
when %t already exists.

This fixes 6 testcases.

llvm-svn: 52178
2008-06-10 15:04:14 +00:00
Matthijs Kooijman
5e7a58339e Remove some debug output from tblgen. This fixes a test.
llvm-svn: 52177
2008-06-10 14:53:49 +00:00
Matthijs Kooijman
b79081c161 Fix some llvm-gcc warnings in testcases, mostly by adding includes or adding
declarations. These are the fixes that I was pretty confident about, there are
still a lot of other llvm-gcc warnings of which I'm not sure if they can be
safely ignored or fixed, without breaking the test case.

This fixes 11 testcases.

llvm-svn: 52176
2008-06-10 14:37:44 +00:00
Matthijs Kooijman
c638fe5b8b For all RUN lines starting with "not", redirect stderr to /dev/null so tests
don't fail when (expected) error output is produced. This fixes 17 tests.

While I was there, I also made all RUN lines of the form "not llvm-as..." a bit
more consistent, they now all redirect stderr and stdout to /dev/null and use
input redirect to read their input.

llvm-svn: 52174
2008-06-10 12:57:32 +00:00
Matthijs Kooijman
82d762a948 Suppress the (stderr) output of -aa-eval, this fixes 5 tests.
llvm-svn: 52173
2008-06-10 12:39:15 +00:00
Matthijs Kooijman
4be5c7f83e Change llvm.exp so it no longer ignores some errors when executing dejagnu
tests. This breaks 80 tests in the tree.

The interesting part here is that this no longer ignores syntax errors
in RUN command lines. Some tests have not been working all the time because of
this.

The tricky part is that it now also views any stderr output as an error. This
can be suppressed in tcl 8.5, but let's not add this dependency. Instead, all
testcases should be changed to redirect stderr if they expect stderr output.
This holds in particular for lines like:
  ; RUN: not llvm-as < %s
where an error is expected (but I think I can solve this by modifying the not
script). Also, compilations resulting in warnings will now also fail (so
the warnings should be fixed, disabled or redirected...).

I'll continue with fixing the testcases that are broken now.

llvm-svn: 52172
2008-06-10 12:28:43 +00:00
Gabor Greif
fb9820af36 adjust calls to ConstantFP::get to new API
llvm-svn: 52165
2008-06-10 01:52:17 +00:00
Dan Gohman
f5602924ae Convert several tests to use temporary files instead of redundantly
executing the test commands.

llvm-svn: 52163
2008-06-10 00:36:41 +00:00
Dan Gohman
9eace09bfa Fix two more not-grep tests that were missing llvm-dis.
llvm-svn: 52159
2008-06-09 22:36:45 +00:00
Dan Gohman
c87fbbd014 Teach isGAPlusOffset to respect a GlobalAddressSDNode's offset
value, which is something that apparently isn't used much.

llvm-svn: 52158
2008-06-09 22:05:52 +00:00
Dan Gohman
68f8fbdac4 Re-apply 52002, allowing the verifier to accept non-MRV struct return
types on functions, with adjustments so that it accepts both
new-style aggregate returns and old-style MRV returns, including those
with only a single member.

llvm-svn: 52157
2008-06-09 21:26:13 +00:00
Dan Gohman
8c089d4df6 CodeGen support for aggregate-value function arguments.
llvm-svn: 52156
2008-06-09 21:19:23 +00:00
Duncan Sands
93a1178fe5 Update the build instructions.
llvm-svn: 52153
2008-06-09 20:24:05 +00:00
Duncan Sands
e46308480d Various tweaks related to apint codegen. No functionality
change for non-funky-sized integers.

llvm-svn: 52151
2008-06-09 15:48:25 +00:00
Dan Gohman
d789392934 Handle empty aggregate values.
llvm-svn: 52150
2008-06-09 15:21:47 +00:00
Dan Gohman
7c97681798 AsmParser support for immediate constant aggregate values.
llvm-svn: 52149
2008-06-09 14:45:02 +00:00
Dan Gohman
ce662293ed CPPBackend support for extractvalue and insertvalue.
llvm-svn: 52147
2008-06-09 14:12:10 +00:00
Dan Gohman
ee7b8797d0 Abort on an unrecognized opcode.
llvm-svn: 52146
2008-06-09 14:09:13 +00:00
Dan Gohman
5f7b94fd7b Update the CPP backend for the ConstantFP::get API change.
llvm-svn: 52144
2008-06-09 14:08:11 +00:00
Duncan Sands
a487df7710 Remove some DAG combiner assumptions about sizes
of integer types.  Fix the isMask APInt method to
actually work (hopefully) rather than crashing
because it adds apints of different bitwidths.
It looks like isShiftedMask is also broken, but
I'm leaving that one to the APInt people (it is
not used anywhere).

llvm-svn: 52142
2008-06-09 11:32:28 +00:00
Duncan Sands
a15ae3d239 Test that prune-eh doesn't make deductions based
on bodies of functions with weak linkage.

llvm-svn: 52141
2008-06-09 11:28:41 +00:00
Rafael Espindola
feaadb1e05 add support for PIC on linux x86-64
llvm-svn: 52139
2008-06-09 09:52:31 +00:00
Chris Lattner
806f0a8411 lower calls to abs to inline code, PR2337
llvm-svn: 52138
2008-06-09 08:26:51 +00:00
Chris Lattner
7864575654 Fix PR2411, where ip constant prop would propagate the
result of a weak function.

llvm-svn: 52137
2008-06-09 07:58:07 +00:00
Bill Wendling
28159b5479 Small formatting changes.
llvm-svn: 52136
2008-06-09 07:51:45 +00:00
Chris Lattner
96dec66124 use 'continue' to make the function linker simpler. When linking a strong
function into a weak function, zap the weak function body so that the
strong one overrides it.  This fixes PR2410

llvm-svn: 52135
2008-06-09 07:47:34 +00:00