Scott Michel
a589a08c91
More CellSPU files... more to follow.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44559 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 23:14:43 +00:00
Scott Michel
01f4fc1a80
Makefile fragment for CellSPU.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44558 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 23:12:49 +00:00
Scott Michel
f2a2416bb4
First commit to CellSPU. More to follow
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44557 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 23:09:49 +00:00
Evan Cheng
e4b39007c9
Bug fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44549 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 21:31:55 +00:00
Anton Korobeynikov
05e5a7468a
Regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44546 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 21:01:29 +00:00
Anton Korobeynikov
f8c751a663
Fix fallout from my last patch: don't reject varargs functions :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44545 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 21:00:45 +00:00
Duncan Sands
a3355ffb3d
Rather than having special rules like "intrinsics cannot
...
throw exceptions", just mark intrinsics with the nounwind
attribute. Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 20:06:50 +00:00
Chris Lattner
4cf4b69330
update file comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44543 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 19:43:18 +00:00
Anton Korobeynikov
c36284e93a
Regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44541 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 19:17:47 +00:00
Devang Patel
5ffdc56f53
If ExitValue operand is also defined in Loop header then
...
insert new ExitValue after this operand definition.
This fixes PR1828.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44539 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 19:17:21 +00:00
Anton Korobeynikov
c1d848dd11
More sanity checks for function types.
...
Thanks goes to PyPy folks for generating broken stuff :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44538 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 19:16:54 +00:00
Gordon Henriksen
94007ec7da
Applying Anton's binmode fix to the other ofstream too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44535 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 14:50:37 +00:00
Anton Korobeynikov
3194012664
Sorry, typo :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44534 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 14:35:57 +00:00
Anton Korobeynikov
037dd942c9
Open output file correctly. This is extremely important for
...
windows-based hosts, where files are opened in text mode by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44533 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 14:28:26 +00:00
Evan Cheng
31d43183a4
Typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44532 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 10:00:00 +00:00
Evan Cheng
70306f8348
Update kill info for uses of split intervals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44531 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 09:58:48 +00:00
Anton Korobeynikov
96ea209b52
Provide hook for _alloca to make JITing on Cygwin slightly happier :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44528 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 05:30:41 +00:00
Evan Cheng
aee4af68ae
Remove redundant foldMemoryOperand variants and other code clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44517 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02 08:30:39 +00:00
Duncan Sands
dff6710717
Integrate the readonly/readnone logic more deeply
...
into alias analysis. This meant updating the API
which now has versions of the getModRefBehavior,
doesNotAccessMemory and onlyReadsMemory methods
which take a callsite parameter. These should be
used unless the callsite is not known, since in
general they can do a better job than the versions
that take a function. Also, users should no longer
call the version of getModRefBehavior that takes
both a function and a callsite. To reduce the
chance of misuse it is now protected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44487 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-01 07:51:45 +00:00
Evan Cheng
e3110d0825
Fix a bug where splitting cause some unnecessary spilling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44482 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-01 04:42:39 +00:00
Evan Cheng
e62f97c094
Allow some reloads to be folded in multi-use cases. Specifically testl r, r -> cmpl [mem], 0.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44479 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-01 02:07:52 +00:00
Ted Kremenek
f64903b7d8
Fixed subtle bug in Deserializer::JumpTo when jumping when the block-nesting
...
information matching did not exactly match the underlying stream's scoping
information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44470 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 22:45:05 +00:00
Evan Cheng
cddbb83ea8
Do not fold reload into an instruction with multiple uses. It issues one extra load.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44467 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 21:23:43 +00:00
Chris Lattner
cd883f203d
chain update requests properly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44460 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 18:52:58 +00:00
Duncan Sands
6bb0ae4711
Small optimization of parameter attribute lookup.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44458 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 18:20:58 +00:00
Duncan Sands
757d243167
Add a convenience method for modifying parameter
...
attributes. While there, I noticed that not all
attribute methods returned a pointer-to-constant,
so I fixed that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44457 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 18:19:18 +00:00
Duncan Sands
a8b974648f
Check that there are not more attributes than
...
function parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44452 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 15:52:20 +00:00
Devang Patel
962e0750a5
Provide a way to update DescGlobals cache directly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44446 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 00:51:33 +00:00
Evan Cheng
cb3c330d39
Do not lose rematerialization info when spilling already split live intervals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44443 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 23:02:50 +00:00
Owen Anderson
1fb136464d
Fix a miscompilation in spiff on PPC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44437 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 18:02:22 +00:00
Evan Cheng
1953d0cb7d
Fix a major performance issue with splitting. If there is a def (not def/use)
...
in the middle of a split basic block, create a new live interval starting at
the def. This avoid artifically extending the live interval over a number of
cycles where it is dead. e.g.
bb1:
= vr1204 (use / kill) <= new interval starts and ends here.
...
...
vr1204 = (new def) <= start a new interval here.
= vr1204 (use)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44436 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 10:12:14 +00:00
Evan Cheng
c3fc7d9ec9
Replace the odd kill# hack with something less fragile.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44434 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 09:49:23 +00:00
Duncan Sands
fd8890dbee
Small parameter attributes cleanup.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 08:30:15 +00:00
Evan Cheng
0cbb1164b3
Fixed various live interval splitting bugs / compile time issues.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44428 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 01:06:25 +00:00
Evan Cheng
c3868e04bf
Kill info update bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44427 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 01:05:47 +00:00
Chris Lattner
4045e6db8c
Work around a GCC bug, producing this code:
...
unsigned char *llvm_cbe_X;
...
llvm_cbe_X = 0; *((void**)&llvm_cbe_X) = __builtin_stack_save();
instead of:
llvm_cbe_X = __builtin_stack_save();
See PR1809 for details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 21:26:17 +00:00
Chris Lattner
1f87300326
Implement ExpandOperationResult for ppc i64 fp->int, which fixes
...
CodeGen/Generic/fp_to_int.ll among others. Its unclear why this
just started failing...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44407 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 18:44:47 +00:00
Chris Lattner
5e037fce2b
for consistency, allow a fallthrough if the final check returns null.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44406 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 18:30:18 +00:00
Duncan Sands
afa3b6da11
Add some convenience methods for querying attributes, and
...
use them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44403 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 17:07:01 +00:00
Duncan Sands
dd65a73af4
My compiler complains that "x always evaluates to true"
...
in this call:
Result.IntVal = APInt(80, 2, x);
What is x?
uint16_t x[8];
I deduce that the APInt constructor being used is this one:
APInt(uint32_t numBits, uint64_t val, bool isSigned = false);
rather than this one:
APInt(uint32_t numBits, uint32_t numWords, const uint64_t bigVal[]);
That doesn't seem right! This fix compiles but is otherwise completely
untested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44400 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 10:36:19 +00:00
Duncan Sands
0a488b320c
Add missing newlines at EOF.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44399 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 10:13:38 +00:00
Evan Cheng
cada245d06
Recover compile time regression.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44386 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 01:28:46 +00:00
Owen Anderson
e4ad9c70e4
Add MachineLoopInfo. This is not yet tested.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44384 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 22:47:08 +00:00
Chris Lattner
a3f61df4ff
several entries got significantly better, though they still aren't done.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 22:41:52 +00:00
Chris Lattner
f1b1c5ed1a
implement a trivial readme entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44380 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 22:36:16 +00:00
Chris Lattner
789db09cde
Fix a crash on invalid code due to memcpy lowering.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 22:14:42 +00:00
Chris Lattner
a8d700138a
Make this actually work on systems that support ppc long double.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44374 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 20:45:25 +00:00
Chris Lattner
1c8f374a3b
Unbreak all of the darwin/ppc32 JIT failures having to do
...
with not being able to find printf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44373 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 20:41:32 +00:00
Nate Begeman
d73ab8884f
Support returning non-power-of-2 vectors to unblock some work
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44371 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 19:28:48 +00:00
Andrew Lenharth
19914ed97f
something wrong with this opt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44370 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 18:31:30 +00:00