Devang Patel
5d01aa484f
If a value is incoming from outside the loop then the value does not need remapping and the value is never tracked through LastValueMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43728 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:32:30 +00:00
Chris Lattner
9ca08f3d8e
recursive types are our friend.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43727 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:28:07 +00:00
Chris Lattner
cac2135bc8
mention possibility of using a visitor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43726 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:25:14 +00:00
Chris Lattner
cf9893d28c
clarify why prototype::codegen returns a function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43725 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:22:50 +00:00
Chris Lattner
99005a4b3b
TOC for chapter 8
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43724 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:10:15 +00:00
Chris Lattner
128eb863df
add table of contents to each chapter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43723 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:06:59 +00:00
Lauro Ramos Venancio
8699a97a2e
[ARM] Fix code generation for:
...
static __thread struct {
int a;
int b;
} teste = {0, 0};
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43722 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:33:37 +00:00
Ted Kremenek
6fd11c53e9
Fixed bug where tombstone key and empty key for DenseMap used for
...
pointer backpatching in deserializer were improperly created and
resulted in an assertion failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43721 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:13:03 +00:00
Duncan Sands
0c8a13b510
Don't output ABI size padding twice. By using the store
...
size for the field we get ABI padding automatically, so
no need to put it in again when we emit the field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43720 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:03:02 +00:00
Chris Lattner
f6e53df441
add link to llvmbuilder doxygen docs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43719 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:02:15 +00:00
Chris Lattner
20a0c80f7e
spell identifier correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43718 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:54:34 +00:00
Chris Lattner
b50196413a
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43717 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:52:04 +00:00
Chris Lattner
a56b22d7f7
Dan points out that mem2reg also promotes vectors: be more precise.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43715 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:45:54 +00:00
Evan Cheng
a461c4d75b
Move SimpleRegisterCoalescing.h to lib/CodeGen since there is now a common
...
register coalescer interface: RegisterCoalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43714 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:41:38 +00:00
Chris Lattner
fc60ab0487
clarify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43712 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:39:26 +00:00
Chris Lattner
01fcc04570
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43711 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:38:34 +00:00
Duncan Sands
72261ff1ee
Fix some typos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43709 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 16:04:58 +00:00
Duncan Sands
e0a34353ee
Trivial fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43707 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 15:15:50 +00:00
Evan Cheng
db807edd66
Use movups to spill / restore SSE registers on targets where stacks alignment is
...
less than 16. This is a temporary solution until dynamic stack alignment is
implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43703 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 07:30:01 +00:00
Chris Lattner
b0f0deb069
add a link.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43702 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 07:02:49 +00:00
Chris Lattner
a3f07ef525
finish the tutorial, yaay.
...
comments and feedback welcome.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43701 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 07:00:54 +00:00
Evan Cheng
5031fd2d32
Skip over deleted val#'s.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43700 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 06:46:45 +00:00
Evan Cheng
5942efb0e5
Handle cases where a register and one of its super-register are both marked as
...
defined on the same instruction. This fixes PR1767.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43699 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 03:11:55 +00:00
Evan Cheng
801e5a98bf
Fix test case. Chris didn't do make check. :-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43698 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 03:04:26 +00:00
Bruno Cardoso Lopes
c7db5618f9
Added support for PIC code with "explicit relocations" *only*.
...
Removed all macro code for PIC (goodbye "la").
Support tested with shootout bench.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 03:02:32 +00:00
Gordon Henriksen
90a52145ab
Bringing Passes.html up-to-date with the deletion of the
...
-emitbitcode option and the addition of -preverify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43696 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 02:05:35 +00:00
Chris Lattner
b8fc650b48
Add the first section of chapter 8.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43695 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 01:58:13 +00:00
Gordon Henriksen
4e1be6d5ea
Deleting redundant copy of block extractor pass. See also PR1775.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43694 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 01:54:05 +00:00
Evan Cheng
8dec727c1f
Doh. PR1187 -> PR1766.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43693 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 01:00:44 +00:00
Evan Cheng
5f5f3b6333
Fix PR1187.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43692 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 00:59:10 +00:00
Duncan Sands
18b0ca854f
If a long double is in a packed struct, it may be
...
that there is no padding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43691 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 00:35:07 +00:00
Chris Lattner
62a709d74b
finish the chapter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43689 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 00:23:57 +00:00
Duncan Sands
ca0ed74485
Eliminate the remaining uses of getTypeSize. This
...
should only effect x86 when using long double. Now
12/16 bytes are output for long double globals (the
exact amount depends on the alignment). This brings
globals in line with the rest of LLVM: the space
reserved for an object is now always the ABI size.
One tricky point is that only 10 bytes should be
output for long double if it is a field in a packed
struct, which is the reason for the additional
argument to EmitGlobalConstant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43688 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 00:04:43 +00:00
Owen Anderson
83430bce1d
Another step of stronger PHI elimination down.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43684 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 22:33:26 +00:00
Gordon Henriksen
bd76d66194
Deleting -emitbitcode option which did nothing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43683 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 20:28:31 +00:00
Chris Lattner
2e5d07e3ea
fix typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43682 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 19:42:13 +00:00
Chris Lattner
fe6575c2bf
Fix PR1761 by not printing (rip) suffix when in -static mode.
...
Evan, please review this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43680 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 19:23:28 +00:00
Gordon Henriksen
873390ee57
Validation fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43679 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 18:17:58 +00:00
Gordon Henriksen
23a8ce5b95
Typo fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43678 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 18:14:08 +00:00
Gordon Henriksen
75ff18ed2b
Completing Passes.html with the exception of -emitbitcode, which should be
...
removed. This document could still stand for significant improvement:
* Editing the pass descriptions; most were lifted with minimal editing from
comments. Although implementation details were elided, many of the were not
written for the audience that would be interested in this document.
* More "before and after" examples.
* More implicit dependency details. (Perhaps listing transforms in
-std-compile-opts order would help alleviate this.)
* Adding documentation for how to invoke passes programmatically.
* Rearranging the document into a more logical taxonomy. For instance, putting
profiling passes together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43677 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 18:10:18 +00:00
Nick Lewycky
f4c164c2b5
Fix crash before main on ppc/linux with static constructors. PR1771
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43676 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 17:32:10 +00:00
Gordon Henriksen
e626bbe4b5
Fix a validation error.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43675 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 16:17:00 +00:00
Gordon Henriksen
c86b67742a
Finishing initial docs for all transformations in Passes.html.
...
Also cleaned up some comments in source files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43674 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 16:15:04 +00:00
Gordon Henriksen
5544e64765
Removing a dead reference from LLVM.xcodeproj.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43673 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 16:12:17 +00:00
Duncan Sands
3cb3650a27
Change uses of getTypeSize to getABITypeSize, getTypeStoreSize
...
or getTypeSizeInBits as appropriate in ScalarReplAggregates.
The right change to make was not always obvious, so it would
be good to have an sroa guru review this. While there I noticed
some bugs, and fixed them: (1) arrays of x86 long double have
holes due to alignment padding, but this wasn't being spotted
by HasStructPadding (renamed to HasPadding). The same goes
for arrays of oddly sized ints. Vectors also suffer from this,
in fact the problem for vectors is much worse because basic
vector assumptions seem to be broken by vectors of type with
alignment padding. I didn't try to fix any of these vector
problems. (2) The code for extracting smaller integers from
larger ones (in the "int union" case) was wrong on big-endian
machines for integers with size not a multiple of 8, like i1.
Probably this is impossible to hit via llvm-gcc, but I fixed
it anyway while there and added a testcase. I also got rid of
some trailing whitespace and changed a function name which
had an obvious typo in it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43672 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 14:43:57 +00:00
Evan Cheng
9aeaf7593b
If an interval is being undone clear its preference as well since the source interval may have been undone as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43670 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 08:32:21 +00:00
Chris Lattner
03e6c7091e
Fix PR1763 by allowing the 'q' constraint to work with 64-bit
...
regs on x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43669 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 06:51:12 +00:00
Chris Lattner
0647ebf1dc
Disable tail duplication of call instructions. The cost
...
metric is way off for these in general, and this works around
buggy code like that in PR1764. we'll see if there is a big
performance impact of this. If so, I'll revert it tomorrow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04 06:37:55 +00:00
Chris Lattner
e719831b1c
finish the 'Memory in LLVM' section
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43667 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03 22:22:30 +00:00
Chris Lattner
00c992dde0
hack and slash the first 20% of chapter seven.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43663 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03 08:55:29 +00:00