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
Owen Anderson
528b00adc4
Fixes for MachineLoopInfo, mostly from Evan. With these, it should be almost useable!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44480 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-01 03:01: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
Eric Christopher
790e11cdff
Add target triple to include/llvm/Config/config.h.in. Regenerate all files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44478 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-01 00:34:39 +00:00
Devang Patel
57c4fc2e23
Change LinkTimeOptimizer.h install location.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44477 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-01 00:24:50 +00:00
Devang Patel
0a45fa9348
Change lib lto install location.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 23:27:57 +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
Ted Kremenek
2a2a496aac
Fixed potential bug where CurWord is not zeroed out in JumpToBit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44469 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-30 22:39:46 +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
213ee902cc
Update tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 10:03:54 +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
Chris Lattner
d7205e6ba1
Pass the whole StringMapEntry into StringMapEntryInitializer::Initialize.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 06:14:41 +00:00
Chris Lattner
aec78708c2
provide an optional API to allow datatypes in a stringmap to be *gasp*
...
initialized with a value if they want, by specializing the
StringMapEntryInitializer class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44430 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-29 06:04:41 +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
22f26a75d2
New testcase for PR1744
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44418 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 22:43:34 +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
51c971701a
Add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44414 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 19:26:42 +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
Chris Lattner
4b341b4178
upgrade this test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44405 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 18:22:12 +00:00
Chris Lattner
0a0cfdf825
make this test have a deterministic result.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44404 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 18:20:49 +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
1e7b1bbd9c
Revert previous "fix" - the breakage was due to some
...
local changes, not the "not".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44402 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 16:50:29 +00:00
Duncan Sands
7dbb1e45e3
This test somehow got an extra "not" during the
...
recent stderr updates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44401 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 15:36:27 +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
Chris Lattner
95d859332b
xfail a test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44395 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 05:37:13 +00:00
Chris Lattner
2adcf10a80
update this test after the fmrrd fix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44393 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 05:27:07 +00:00
Tanya Lattner
2490d33005
Fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44391 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 05:14:49 +00:00
Tanya Lattner
1de48498fd
Modified instructions to configure llvm-test by configure llvm with the Path --with-llvmgccdir set.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44390 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 05:13:45 +00:00
Tanya Lattner
727842e9d7
Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests and fixed broken run lines.
...
XFAILed 3 arm regressions (will file bugs)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44389 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 04:57:00 +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
a5d4a4e33e
commit testcase I forgot to svn add.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44383 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 22:43:37 +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