Commit Graph

35852 Commits

Author SHA1 Message Date
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
Ted Kremenek
8330b0e5d4 Updated GenLibDeps.pl to employ "use strict" to help prevent uses of variables
that have not yet been defined.

Removed used of grep and sed when parsing the results of "nm". This was
originally motivated because if the user has specified options to grep using
the environment variable GREP_OPTIONS this could break the script. Piping
through grep/sed/sort/uniq is also (to my understanding) not necessary, and
the equivalent operations can be done much faster in the Perl script.

Using a crude benchmark, these changes resulted in a 3x speedup in the
execution of GenLibDeps.pl.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44372 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 19:31:11 +00:00