Duncan Sands
38ef3a8ec7
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).
llvm-svn: 44544
2007-12-03 20:06:50 +00:00
Chris Lattner
19970e62e7
update file comment.
...
llvm-svn: 44543
2007-12-03 19:43:18 +00:00
John Criswell
9c9405f4ef
Fixed typo.
...
llvm-svn: 44542
2007-12-03 19:34:25 +00:00
Anton Korobeynikov
c09b265410
Regenerate
...
llvm-svn: 44541
2007-12-03 19:17:47 +00:00
Devang Patel
bd75910fa7
If ExitValue operand is also defined in Loop header then
...
insert new ExitValue after this operand definition.
This fixes PR1828.
llvm-svn: 44539
2007-12-03 19:17:21 +00:00
Anton Korobeynikov
d62b10dc93
More sanity checks for function types.
...
Thanks goes to PyPy folks for generating broken stuff :)
llvm-svn: 44538
2007-12-03 19:16:54 +00:00
Chris Lattner
b39e02bcc2
Describe the notion of 'owners' of the code.
...
llvm-svn: 44537
2007-12-03 19:00:47 +00:00
Gordon Henriksen
4814cd2271
Applying Anton's binmode fix to the other ofstream too.
...
llvm-svn: 44535
2007-12-03 14:50:37 +00:00
Anton Korobeynikov
bf96d99383
Sorry, typo :)
...
llvm-svn: 44534
2007-12-03 14:35:57 +00:00
Anton Korobeynikov
7c5442b0e3
Open output file correctly. This is extremely important for
...
windows-based hosts, where files are opened in text mode by default.
llvm-svn: 44533
2007-12-03 14:28:26 +00:00
Evan Cheng
196faa9dc5
Typo
...
llvm-svn: 44532
2007-12-03 10:00:00 +00:00
Evan Cheng
85ef9834a6
Update kill info for uses of split intervals.
...
llvm-svn: 44531
2007-12-03 09:58:48 +00:00
Anton Korobeynikov
9050bd1f68
Provide hook for _alloca to make JITing on Cygwin slightly happier :)
...
llvm-svn: 44528
2007-12-03 05:30:41 +00:00
Nick Lewycky
9746782cea
lli -trace was removed back in 2003.
...
llvm-svn: 44527
2007-12-03 01:58:01 +00:00
Nick Lewycky
d93847a96a
Type::IntTy hasn't existed for a while. Just sub in Type::Int32Ty.
...
llvm-svn: 44526
2007-12-03 01:52:52 +00:00
Chris Lattner
4b6d965611
explain what I need to grant commit access.
...
llvm-svn: 44524
2007-12-03 00:36:20 +00:00
Chris Lattner
b4ef023bf6
fix typo noticed by Joshua Pennington
...
llvm-svn: 44522
2007-12-02 22:46:01 +00:00
Evan Cheng
f45a1d623c
Remove redundant foldMemoryOperand variants and other code clean up.
...
llvm-svn: 44517
2007-12-02 08:30:39 +00:00
Gordon Henriksen
3e41367dd5
Adding ocamldoc-style comments for the Ocaml bindings.
...
llvm-svn: 44494
2007-12-01 21:01:15 +00:00
Gordon Henriksen
e000c6022f
Fix a typo noticed by Alain Frisch.
...
llvm-svn: 44493
2007-12-01 20:59:23 +00:00
Duncan Sands
68b6f50938
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.
llvm-svn: 44487
2007-12-01 07:51:45 +00:00
Evan Cheng
388f6f51a0
Fix a bug where splitting cause some unnecessary spilling.
...
llvm-svn: 44482
2007-12-01 04:42:39 +00:00
Owen Anderson
7f09c88977
Fixes for MachineLoopInfo, mostly from Evan. With these, it should be almost useable!
...
llvm-svn: 44480
2007-12-01 03:01:39 +00:00
Evan Cheng
69fda0a716
Allow some reloads to be folded in multi-use cases. Specifically testl r, r -> cmpl [mem], 0.
...
llvm-svn: 44479
2007-12-01 02:07:52 +00:00
Eric Christopher
e62b441b51
Add target triple to include/llvm/Config/config.h.in. Regenerate all files.
...
llvm-svn: 44478
2007-12-01 00:34:39 +00:00
Devang Patel
c7d9af8d6d
Change LinkTimeOptimizer.h install location.
...
llvm-svn: 44477
2007-12-01 00:24:50 +00:00
Devang Patel
0fceaea8be
Change lib lto install location.
...
llvm-svn: 44476
2007-11-30 23:27:57 +00:00
Ted Kremenek
8ded669b04
Fixed subtle bug in Deserializer::JumpTo when jumping when the block-nesting
...
information matching did not exactly match the underlying stream's scoping
information.
llvm-svn: 44470
2007-11-30 22:45:05 +00:00
Ted Kremenek
1f80e8b6eb
Fixed potential bug where CurWord is not zeroed out in JumpToBit.
...
llvm-svn: 44469
2007-11-30 22:39:46 +00:00
Evan Cheng
b10dc27b20
Do not fold reload into an instruction with multiple uses. It issues one extra load.
...
llvm-svn: 44467
2007-11-30 21:23:43 +00:00
Chris Lattner
907703cecd
chain update requests properly.
...
llvm-svn: 44460
2007-11-30 18:52:58 +00:00
Duncan Sands
d4d7f9d69e
Small optimization of parameter attribute lookup.
...
llvm-svn: 44458
2007-11-30 18:20:58 +00:00
Duncan Sands
b41f872013
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.
llvm-svn: 44457
2007-11-30 18:19:18 +00:00
Duncan Sands
4e8c071612
Check that there are not more attributes than
...
function parameters.
llvm-svn: 44452
2007-11-30 15:52:20 +00:00
Devang Patel
cc45c338d1
Provide a way to update DescGlobals cache directly.
...
llvm-svn: 44446
2007-11-30 00:51:33 +00:00
Evan Cheng
d35b5acae4
Do not lose rematerialization info when spilling already split live intervals.
...
llvm-svn: 44443
2007-11-29 23:02:50 +00:00
Owen Anderson
ffa55112e0
Fix a miscompilation in spiff on PPC.
...
llvm-svn: 44437
2007-11-29 18:02:22 +00:00
Evan Cheng
8494ee175c
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)
llvm-svn: 44436
2007-11-29 10:12:14 +00:00
Evan Cheng
37ed3e6320
Update tests.
...
llvm-svn: 44435
2007-11-29 10:03:54 +00:00
Evan Cheng
f85c063ec0
Replace the odd kill# hack with something less fragile.
...
llvm-svn: 44434
2007-11-29 09:49:23 +00:00
Duncan Sands
8dfcd5975e
Small parameter attributes cleanup.
...
llvm-svn: 44433
2007-11-29 08:30:15 +00:00
Chris Lattner
f5a095359e
Pass the whole StringMapEntry into StringMapEntryInitializer::Initialize.
...
llvm-svn: 44432
2007-11-29 06:14:41 +00:00
Chris Lattner
d1f0e3d791
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.
llvm-svn: 44430
2007-11-29 06:04:41 +00:00
Evan Cheng
be255b0650
Fixed various live interval splitting bugs / compile time issues.
...
llvm-svn: 44428
2007-11-29 01:06:25 +00:00
Evan Cheng
147f7799c5
Kill info update bug.
...
llvm-svn: 44427
2007-11-29 01:05:47 +00:00
Chris Lattner
cee633a873
New testcase for PR1744
...
llvm-svn: 44418
2007-11-28 22:43:34 +00:00
Chris Lattner
246b7b2dbf
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.
llvm-svn: 44415
2007-11-28 21:26:17 +00:00
Chris Lattner
3fbb6a83a8
Add a note
...
llvm-svn: 44414
2007-11-28 19:26:42 +00:00
Chris Lattner
57ee7c6630
Implement ExpandOperationResult for ppc i64 fp->int, which fixes
...
CodeGen/Generic/fp_to_int.ll among others. Its unclear why this
just started failing...
llvm-svn: 44407
2007-11-28 18:44:47 +00:00
Chris Lattner
749478a61b
for consistency, allow a fallthrough if the final check returns null.
...
llvm-svn: 44406
2007-11-28 18:30:18 +00:00