Scott Michel
ba12f57ebe
Fix spellnig error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51917 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 19:13:20 +00:00
Owen Anderson
3637981050
Testcase for LoopIndexSplit and DomFrontier.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51916 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 18:32:27 +00:00
Owen Anderson
269db29bdb
LoopIndexSplit can sometimes result in cases where a block in its own domfrontier.
...
Don't crash when we encounter one of these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51915 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 18:29:48 +00:00
Dale Johannesen
bd44c2e383
Expand documentation of StringConstantPrefix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51911 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 18:15:03 +00:00
Dale Johannesen
24f07dc6e4
Prevent a crash in debug dumps.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51910 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 18:14:29 +00:00
Dale Johannesen
428ac54894
Add StringConstantPrefix to control what the
...
assembler names of string constants look like.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 18:09:06 +00:00
Scott Michel
eefc845b5f
Find a better place to output hex constants corresponding to integers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51904 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 15:39:51 +00:00
Bruno Cardoso Lopes
a8c63f0fc9
Fixed bug in bad behavior in calculateFrameObjectOffsets,
...
the solution commited is different from the previous patch to
avoid int and unsigned comparison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51899 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 08:46:59 +00:00
Evan Cheng
f73ff3aaf6
Do not run loop-aligner at -fast (e.g. -O0).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51898 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 06:56:08 +00:00
Scott Michel
4315eee376
Revert this patch
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51897 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 06:18:19 +00:00
Dan Gohman
6d9861120e
nounwindify.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51893 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 01:21:11 +00:00
Devang Patel
c0c33f5e2c
"Unable to schedule <A> required by <B>" is more helpful then
...
"Unable to handle Pass that requires lower level Analysis pass"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51892 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 01:20:02 +00:00
Devang Patel
e62f750784
Add debugging aid.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51891 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 01:02:16 +00:00
Dan Gohman
c702a9ed1c
Fix whitespace in whitespace-significant pseudocode in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51890 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 00:57:21 +00:00
Dan Gohman
6e68f59b78
Constant folding for insertvalue and extractvalue.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51889 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03 00:15:20 +00:00
Devang Patel
2f170997b5
Update dom tree. Fix PR 2372.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51887 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 22:52:56 +00:00
Dan Gohman
33b625bee4
Fold adds and subtracts of zero immediately, instead of waiting
...
for dagcombine to do this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51886 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 22:27:05 +00:00
Scott Michel
83ccc0a50c
Minor cosmetic patch so that the hex equivalent of a decimal
...
constant shows up in the assembly language output. Helps with
debugging without a HP calculator having to be handy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51885 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 22:19:12 +00:00
Scott Michel
8bf61e8c2a
Add necessary 64-bit support so that gcc frontend compiles (mostly). Current
...
issue is operand promotion for setcc/select... but looks like the fundamental
stuff is implemented for CellSPU.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51884 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 22:18:03 +00:00
Dan Gohman
193c235850
Implement CBE support for first-class structs and array values,
...
and insertvalue and extractvalue instructions.
First-class array values are not trivial because C doesn't
support them. The approach I took here is to wrap all arrays
in structs. Feedback is welcome.
The 2007-01-15-NamedArrayType.ll test needed to be modified
because it has a "not grep" for a string that now exists,
because array types now have associated struct types, and
those struct types have names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51881 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 21:30:49 +00:00
Dan Gohman
34e71fe29d
Update the polygen grammer for the new insertvalue and extractvalue syntax.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51879 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 19:47:09 +00:00
Chris Lattner
d82e511aec
Remove unneeded code I added.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51878 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 18:39:07 +00:00
Dan Gohman
37cdad3e59
Fix the position of MemOperands in nodes that use variadic_ops
...
in DAGISelEmitter output. This bug was recently uncovered by the
addition of patterns for CALL32m and CALL64m, which are nodes
that now have both MemOperands and variadic_ops.
This bug was especially visible with PIC in various configurations,
because the new patterns are matching the indirect call code used
in many PIC configurations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51877 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 17:40:38 +00:00
Owen Anderson
e3abb0a858
Correctly handle removed instructions at the beginning of MBBs when renumbering.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51876 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 17:36:36 +00:00
Wojciech Matyjewicz
98e3a6829a
Fixes PR2395. Looking for a constant in a GEP tail (when the first GEP
...
is longer than the second one) should stop after finding one. Added break
instruction guarantees it. It also changes difference between offsets to
absolute value of this difference in the condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51875 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 17:26:12 +00:00
Steve Naroff
370a25c16a
update vc configure project for renaming of
...
hash_map/hash_set/iterator to have a .h suffix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 16:37:36 +00:00
Rafael Espindola
da5860fa8b
Don't use the GOT for symbols that are not externally visible.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51865 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 07:52:43 +00:00
Chris Lattner
833f25d79e
move CannotBeNegativeZero to ValueTracking. Simplify some signbit comparisons.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51864 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 01:29:46 +00:00
Chris Lattner
173234a68f
move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits
...
out of instcombine into a new file in libanalysis. This also teaches
ComputeNumSignBits about the number of sign bits in a constantint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51863 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 01:18:21 +00:00
Owen Anderson
009e4f7609
Fix two issues that Eli Friedman pointed out, where would misoptimized code like:
...
char a[200];
init(a, a+200);
OR
int a[200];
char* b = (char*)a;
char* c = (char*)a;
foo(b, c);
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51850 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 22:26:26 +00:00
Owen Anderson
19d4d12ee0
Test for PR2401
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51849 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 21:55:55 +00:00
Owen Anderson
12cb36c115
Don't remove the memcpy when call slot substitution fails.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51848 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 21:52:16 +00:00
Owen Anderson
6bd15ce03f
Remember to update the reverse non-local cache when cleaning up dirty entries. This fixes PR2397.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51846 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 21:03:52 +00:00
Owen Anderson
d8f34fa3d6
Make ping more aggressive in finding nonlocal caching errors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51845 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 20:51:41 +00:00
Anton Korobeynikov
80b74b4348
Prune empty dirs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51844 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 20:11:03 +00:00
Chris Lattner
b8d0b807fc
add a predicate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51842 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 18:09:04 +00:00
Anton Korobeynikov
12a3f8302a
Initialize members properly during construction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51841 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 16:22:49 +00:00
Duncan Sands
f413cdfb0b
When simplifying a call to a bitcast function, tighten up
...
the conditions for performing the transform when only the
function declaration is available: no longer allow turning
i32 into i64 for example. Only allow changing between
pointer types, and between pointer types and integers of
the same size. For return values ptr -> intptr was already
allowed; I added ptr -> ptr and intptr -> ptr while there.
As shown by a recent objc testcase, changing the way
parameters/return values are passed can be fatal when calling
code written in assembler that directly manipulates call
arguments and return values unless the transform has no
impact on the way they are passed at the codegen level.
While it is possible to imagine an ABI that treats integers
of pointer size differently to pointers, I don't think LLVM
supports any so the transform should now be safe while still
being useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51834 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 07:38:42 +00:00
Bruno Cardoso Lopes
bdbb750afe
Fixed flag issue that was generating infinite loop while in list scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51833 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 03:49:39 +00:00
Nick Lewycky
f4408e8c3e
Add a standard for control-flow unreachable assertions in functions that return
...
values, so as to avoid warnings on some platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51831 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 23:54:55 +00:00
Gabor Greif
48fb19a270
updates to some svn:ignore properties
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51829 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 22:59:42 +00:00
Chris Lattner
76931954f8
update this patch to handle an extraneous &1. This should be pulled
...
into the 2.3 release branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51824 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 19:50:53 +00:00
Dan Gohman
995be7d07a
AsmWriter support for insertvalue/extractvalue. These instructions can
...
now round-trip through assembly and bitcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51823 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 19:12:39 +00:00
Dan Gohman
0aab28bf4c
Improved bitcode support for insertvalue/extractvalue.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51822 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 19:11:15 +00:00
Dan Gohman
8e6404180c
Fix a copy+paste error in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51821 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 19:09:47 +00:00
Dan Gohman
35651cdf0b
Fix some bugs with the handling of indices in insertvalue/extractvalue.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51820 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 19:09:08 +00:00
Nick Lewycky
517e1f5cd7
Peer through sext/zext when looking for not(cmp).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51819 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 19:01:33 +00:00
Nick Lewycky
4914db09a5
Yay us! Every one of these examples turns into icmp/zext/ret.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51818 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 18:20:26 +00:00
Nick Lewycky
9419ddb289
Add more i1 optimizations. add, sub, mul, s/udiv on i1 are now simplified away.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51817 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 17:59:52 +00:00
Nick Lewycky
fd12a0b20b
Adding i1 is always Xor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51816 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 17:10:28 +00:00