Dan Gohman
6bb055cfcd
Add a comment about A[i+(j+1)].
...
llvm-svn: 90185
2009-12-01 01:38:10 +00:00
Bill Wendling
8cd7f1260b
Remove some validation errors.
...
llvm-svn: 90184
2009-12-01 00:59:58 +00:00
Bill Wendling
6d6873053a
Some formatting and spelling fixes.
...
llvm-svn: 90182
2009-12-01 00:53:11 +00:00
Dan Gohman
dc068e9517
Devang pointed out that this code should use DIScope instead of
...
DICompileUnit. This code now prints debug filenames successfully.
llvm-svn: 90181
2009-12-01 00:45:56 +00:00
Evan Cheng
fcbc30f36e
Fix PR5614: parts of a physical register def may be killed the rest.
...
llvm-svn: 90180
2009-12-01 00:44:45 +00:00
Devang Patel
41e98a786b
Test case for r90175.
...
llvm-svn: 90176
2009-12-01 00:13:06 +00:00
Johnny Chen
7f7f23087c
For VMOV (immediate), make some of the encoding bits (cmode and op) unspecified.
...
For VMOVv*i[16,32], op bit is don't care, and some cmode bits vary depending on
the immediate values.
Ref: Table A7-15 Modified immediate values for Advanced SIMD instructions.
llvm-svn: 90173
2009-12-01 00:02:02 +00:00
Devang Patel
aca7704897
If pointer type has a name then do not ignore the name.
...
llvm-svn: 90172
2009-11-30 23:56:56 +00:00
Oscar Fuentes
804fe4f685
* CMakeLists.txt: Adds warnings flags for g++. Fixes PR 5647.
...
llvm-svn: 90170
2009-11-30 23:50:14 +00:00
Oscar Fuentes
731f4b47f8
* cmake/modules/LLVMLibDeps.cmake: Updated library dependencies.
...
llvm-svn: 90169
2009-11-30 23:48:51 +00:00
Dan Gohman
e573c59c90
Minor whitespace fixes.
...
llvm-svn: 90166
2009-11-30 23:33:53 +00:00
Dan Gohman
af05157fde
Fix a minor inconsistency.
...
llvm-svn: 90165
2009-11-30 23:33:37 +00:00
Dan Gohman
54f4f93c81
Fix typos in comments.
...
llvm-svn: 90164
2009-11-30 23:30:43 +00:00
Jakob Stoklund Olesen
ce2743a619
New virtual registers created for spill intervals should inherit allocation hints from the original register.
...
This helps us avoid silly copies when rematting values that are copied to a physical register:
leaq _.str44(%rip), %rcx
movq %rcx, %rsi
call _strcmp
becomes:
leaq _.str44(%rip), %rsi
call _strcmp
The coalescer will not touch the movq because that would tie down the physical register.
llvm-svn: 90163
2009-11-30 22:55:54 +00:00
Bill Wendling
bacc153c6c
Debug info is disabled on PPC Darwin.
...
llvm-svn: 90160
2009-11-30 22:23:29 +00:00
Bob Wilson
a71b008477
Reprioritize tests for tail duplication to be aggressive about indirect
...
branches even when optimizing for code size. Unless we find evidence to the
contrary in the future, the special treatment for indirect branches does not
have a significant effect on code size, and performance still matters with -Os.
llvm-svn: 90147
2009-11-30 18:56:45 +00:00
Bob Wilson
b293fe32cb
Remove isProfitableToDuplicateIndirectBranch target hook. It is profitable
...
for all the processors where I have tried it, and even when it might not help
performance, the cost is quite low. The opportunities for duplicating
indirect branches are limited by other factors so code size does not change
much due to tail duplicating indirect branches aggressively.
llvm-svn: 90144
2009-11-30 18:35:03 +00:00
Bob Wilson
f893a19df9
Fix some more ARM unified syntax warnings.
...
llvm-svn: 90141
2009-11-30 17:47:19 +00:00
Benjamin Kramer
49b3c58272
Fix odd declaration.
...
llvm-svn: 90138
2009-11-30 15:52:29 +00:00
Tobias Grosser
bc1905d14d
Fix last DOTGraphTraits problems in CompilationGraph.
...
llvm-svn: 90136
2009-11-30 13:34:51 +00:00
Tobias Grosser
246c05c351
Remove forgotten ShortNames in Trie and CompilationGraph
...
llvm-svn: 90135
2009-11-30 13:14:13 +00:00
Tobias Grosser
74c7605daf
Remove ShortNames from getNodeLabel in DOTGraphTraits
...
llvm-svn: 90134
2009-11-30 12:38:47 +00:00
Tobias Grosser
48d8ba7043
Instantiate DefaultDOTGraphTraits
...
llvm-svn: 90133
2009-11-30 12:38:13 +00:00
Tobias Grosser
4b6d3d58f6
Do not point edge heads to source labels
...
If no destination label is available, just point to the node itself
instead of pointing to some source label. Source and destination labels are
not related in any way.
llvm-svn: 90132
2009-11-30 12:37:39 +00:00
Tobias Grosser
72a78e2a22
Only print edgeSourceLabels if they are not empty
...
Graphviz can layout the graphs better if a node does not contain source
ports. Therefore only print the ports if the source ports are useful,
that means are not labeled with the empty string "".
This patch also simplifies graphs without any edgeSourceLabels e.g. the
dominance trees.
llvm-svn: 90131
2009-11-30 12:24:40 +00:00
Tobias Grosser
38b3077d08
Small PostDominatorTree improvements
...
* Do not SEGFAULT if tree entryNode() is NULL
* Print function names in dotty printer
llvm-svn: 90130
2009-11-30 12:06:37 +00:00
Tobias Grosser
6cf9fe9d69
Remove ":" after BB name in -view-cfg-only
...
llvm-svn: 90129
2009-11-30 11:55:24 +00:00
Eric Christopher
859360e596
First pass at llvm.objectsize documentation.
...
llvm-svn: 90116
2009-11-30 08:03:53 +00:00
Nick Lewycky
81fea1665b
Revert r90107, fixing test/Transforms/GVN/2009-11-29-ReverseMap.ll and the
...
llvm-gcc build.
llvm-svn: 90113
2009-11-30 07:05:51 +00:00
Nick Lewycky
51b973c964
Add a testcase for the current llvm-gcc build failure.
...
llvm-svn: 90112
2009-11-30 07:02:18 +00:00
Nick Lewycky
ff21b7c592
Remove the 'simple jit' tutorial as it wasn't really being maintained and its
...
material is covered by the Kaleidoscope tutorial.
llvm-svn: 90111
2009-11-30 04:23:17 +00:00
Mon P Wang
22b4e4e223
Add test case for r90108
...
llvm-svn: 90109
2009-11-30 02:42:27 +00:00
Mon P Wang
27bce4e285
Added support to allow clients to custom widen. For X86, custom widen vectors for
...
divide/remainder since these operations can trap by unroll them and adding undefs
for the resulting vector.
llvm-svn: 90108
2009-11-30 02:42:02 +00:00
Chris Lattner
dd895d559f
reapply r90093 with an addition of keeping the forward
...
and reverse nonlocal memdep maps in synch, this should
fix 255.vortex.
llvm-svn: 90107
2009-11-30 02:26:29 +00:00
Nick Lewycky
bc81d0985e
Fix this test on 64-bit systems which seem to use i64 for gep indices sometimes
...
while 32-bit gcc uses i32.
llvm-svn: 90106
2009-11-30 02:23:57 +00:00
Nick Lewycky
5f9ca6b5c9
Commit r90099 made LLVM simplify one of these constant expressions a little
...
more. Update the syntax we're checking for and filecheckize it too.
This will fix the selfhost buildbots but will 'break' the others (sigh) because
they're still linked against older LLVM which is emitting less optimized IR.
llvm-svn: 90104
2009-11-30 00:38:56 +00:00
Nick Lewycky
116b145b02
Teach ConstantFolding to do a better job when folding gep(bitcast).
...
This permits the devirtualization of llvm.org/PR3100#c9 when compiled by clang.
llvm-svn: 90099
2009-11-29 21:40:55 +00:00
Benjamin Kramer
d9780ec7c5
Revert r90089 for now, it's breaking selfhost.
...
llvm-svn: 90097
2009-11-29 21:17:48 +00:00
Chris Lattner
de1d55c200
revert this patch for now, it causes failures of:
...
LLVM::Transforms/GVN/2009-02-17-LoadPRECrash.ll
LLVM::Transforms/GVN/2009-06-17-InvalidPRE.ll
llvm-svn: 90096
2009-11-29 21:14:59 +00:00
Chris Lattner
6155ce3427
Fix a really nasty caching bug I introduced in memdep. An entry
...
was being added to the Result vector, but not being put in the
cache. This means that if the cache was reused wholesale for a
later query that it would be missing this entry and we'd do an
incorrect load elimination.
Unfortunately, it's not really possible to write a useful
testcase for this, but this unbreaks 255.vortex.
llvm-svn: 90093
2009-11-29 21:09:36 +00:00
Benjamin Kramer
a1d24b5a8d
Fix two FIXMEs.
...
llvm-svn: 90089
2009-11-29 20:29:30 +00:00
Nick Lewycky
2c7105b098
Detabify.
...
llvm-svn: 90085
2009-11-29 18:10:39 +00:00
Benjamin Kramer
34f2bcd0ae
Remove dead returns.
...
llvm-svn: 90083
2009-11-29 17:42:58 +00:00
Kovarththanan Rajaratnam
435a9894a7
This patch ensures that Path::GetMainExecutable is able to handle the
...
case where realpath() fails. When this occurs we segfault trying to
create a std::string from a NULL pointer.
Fixes PR5635.
llvm-svn: 90082
2009-11-29 17:19:48 +00:00
Daniel Dunbar
f7eaf3980c
Fix FileCheck crash when fuzzy scanning starting at the end of the file.
...
llvm-svn: 90065
2009-11-29 08:30:24 +00:00
Chris Lattner
cd6fed25d5
add testcases for the foo_with_overflow op xforms added recently and
...
fix bugs exposed by the tests. Testcases from Alastair Lynn!
llvm-svn: 90056
2009-11-29 02:57:29 +00:00
Chris Lattner
de599f9ae4
mark all the 'foo with overflow' intrinsics as readnone.
...
llvm-svn: 90055
2009-11-29 02:44:33 +00:00
Chris Lattner
40d74cea6b
update and consolidate the load pre notes.
...
llvm-svn: 90050
2009-11-29 02:19:52 +00:00
Chris Lattner
5b1941cafb
add PR#
...
llvm-svn: 90049
2009-11-29 01:28:58 +00:00
Chris Lattner
8ba0b842a2
Add a testcase for:
...
void test(int N, double* G) {
long j;
for (j = 1; j < N - 1; j++)
G[j] = G[j] + G[j+1] + G[j-1];
}
which we now compile to one load in the loop:
LBB1_2: ## %bb
movsd 16(%rsi,%rax,8), %xmm2
incq %rdx
addsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movapd %xmm2, %xmm1
movsd %xmm0, 8(%rsi,%rax,8)
incq %rax
cmpq %rcx, %rax
jne LBB1_2
instead of:
LBB1_2: ## %bb
movsd 8(%rsi,%rax,8), %xmm0
addsd 16(%rsi,%rax,8), %xmm0
addsd (%rsi,%rax,8), %xmm0
movsd %xmm0, 8(%rsi,%rax,8)
incq %rax
cmpq %rcx, %rax
jne LBB1_2
llvm-svn: 90048
2009-11-29 01:15:43 +00:00