Devang Patel
b6ef7bc5d9
Remove unused function argument.
...
llvm-svn: 36441
2007-04-25 17:15:20 +00:00
Jeff Cohen
a7a73ccfd0
Note new header file.
...
llvm-svn: 36440
2007-04-25 17:13:18 +00:00
Anton Korobeynikov
d9de1e8852
Add missed file
...
llvm-svn: 36439
2007-04-25 16:42:39 +00:00
Lauro Ramos Venancio
d922b8ca9b
remember to emit weak reference in one more case.
...
llvm-svn: 36438
2007-04-25 14:50:40 +00:00
Anton Korobeynikov
21684d3242
Regenerate
...
llvm-svn: 36437
2007-04-25 14:29:12 +00:00
Anton Korobeynikov
25dc9a61cb
Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
...
will follow.
llvm-svn: 36435
2007-04-25 14:27:10 +00:00
Evan Cheng
e884f9cb2a
Fix for PR1306.
...
- A register def / use now implicitly affects sub-register liveness but does
not affect liveness information of super-registers.
- Def of a larger register (if followed by a use later) is treated as
read/mod/write of a smaller register.
llvm-svn: 36434
2007-04-25 07:30:23 +00:00
Evan Cheng
46096a692c
Test if a register is sub- or super-register of another.
...
llvm-svn: 36433
2007-04-25 07:24:50 +00:00
Evan Cheng
7edd354721
Minor speed tweak.
...
llvm-svn: 36432
2007-04-25 07:24:13 +00:00
Evan Cheng
4f48ec6738
Clean up.
...
llvm-svn: 36431
2007-04-25 07:18:20 +00:00
Evan Cheng
de9468373e
Relex assertions to account for additional implicit def / use operands.
...
llvm-svn: 36430
2007-04-25 07:12:14 +00:00
Chris Lattner
e0e5106141
If an alloca only has two types of uses: 1) reads 2) a memcpy/memmove that
...
copies from a constant global, then we can change the reads to read from the
global instead of from the alloca. This eliminates the alloca and the memcpy,
and promotes secondary optimizations (because the loads are now loads from
a constant global).
This is important for a common C idiom:
void foo() {
int A[] = {1,2,3,4,5,6,7,8,9...};
... only reads of A ...
}
For some reason, people forget to mark the array static or const.
This triggers on these multisource benchmarks:
JM/ldecode: block_pos, [3 x [4 x [4 x i32]]]
FreeBench/mason: m, [18 x i32], inlined 4 times
MiBench/office-stringsearch: search_strings, [1332 x i8*]
MiBench/office-stringsearch: find_strings, [1333 x i8*]
Prolangs-C++/city: dirs, [9 x i8*], inlined 4 places
and these spec benchmarks:
177.mesa: message, [8 x [32 x i8]]
186.crafty: bias_rl45, [64 x i32]
186.crafty: diag_sq, [64 x i32]
186.crafty: empty, [9 x i8]
186.crafty: xlate, [15 x i8]
186.crafty: status, [13 x i8]
186.crafty: bdinfo, [25 x i8]
445.gobmk: routines, [16 x i8*]
458.sjeng: piece_rep, [14 x i8*]
458.sjeng: t, [13 x i32], inlined 4 places.
464.h264ref: block8x8_idx, [3 x [4 x [4 x i32]]]
464.h264ref: block_pos, [3 x [4 x [4 x i32]]]
464.h264ref: j_off_tab, [12 x i32]
This implements Transforms/ScalarRepl/memcpy-from-global.ll
llvm-svn: 36429
2007-04-25 06:40:51 +00:00
Chris Lattner
c9f600b6a4
new testcase, should be able to eliminate the alloca and memcpy
...
llvm-svn: 36428
2007-04-25 06:29:34 +00:00
Chris Lattner
cb6020a638
simplify some code
...
llvm-svn: 36427
2007-04-25 05:49:09 +00:00
Chris Lattner
cf27f9705f
refactor the SROA code out into its own method, no functionality change.
...
llvm-svn: 36426
2007-04-25 05:02:56 +00:00
Chris Lattner
ca7480e8cb
support for >4G stack frames
...
llvm-svn: 36425
2007-04-25 04:30:24 +00:00
Chris Lattner
893d87cda5
support for >4G frames
...
llvm-svn: 36424
2007-04-25 04:29:06 +00:00
Chris Lattner
452294cb99
support >4G stack frames
...
llvm-svn: 36423
2007-04-25 04:25:10 +00:00
Chris Lattner
a2b590fff8
support > 4G stack objects
...
llvm-svn: 36422
2007-04-25 04:20:54 +00:00
Owen Anderson
d0af582609
Undo my previous changes. Since my approach to this problem is being revised,
...
this approach is no longer appropriate.
llvm-svn: 36421
2007-04-25 04:18:54 +00:00
Chris Lattner
8860742825
allow support for 64-bit stack objects
...
llvm-svn: 36420
2007-04-25 04:08:28 +00:00
Chris Lattner
4a45c98b6f
allow 64-bit stack objects
...
llvm-svn: 36419
2007-04-25 04:07:31 +00:00
Chris Lattner
4351f89ca1
new testcase
...
llvm-svn: 36418
2007-04-25 01:51:33 +00:00
Devang Patel
938e0db5e3
Fix
...
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070423/048376.html
llvm-svn: 36417
2007-04-25 00:37:04 +00:00
Devang Patel
242d109f63
New test.
...
llvm-svn: 36416
2007-04-25 00:35:37 +00:00
Chris Lattner
bcc8d13861
testcase for PR1352
...
llvm-svn: 36415
2007-04-25 00:26:05 +00:00
Dale Johannesen
3e0e3a494b
fix typo
...
llvm-svn: 36414
2007-04-25 00:14:49 +00:00
Chris Lattner
64bb6c0a08
Be more careful about folding op(x, undef) when we have vector operands.
...
This fixes CodeGen/X86/2007-04-24-VectorCrash.ll
llvm-svn: 36413
2007-04-25 00:00:45 +00:00
Chris Lattner
a5b8a2b50e
new testcase that crashes llc
...
llvm-svn: 36412
2007-04-25 00:00:12 +00:00
Dale Johannesen
bf8a07cdb9
Add me
...
llvm-svn: 36411
2007-04-24 23:48:30 +00:00
Chris Lattner
583fd8343e
Fix PR1351 and CodeGen/PowerPC/2007-04-24-InlineAsm-I-Modifier.ll
...
llvm-svn: 36410
2007-04-24 22:51:03 +00:00
Chris Lattner
f20a2f1083
testcase for PR1351
...
llvm-svn: 36409
2007-04-24 22:49:57 +00:00
Bill Wendling
c41beb8e13
Testcases for MMX.
...
llvm-svn: 36408
2007-04-24 22:28:30 +00:00
Bill Wendling
8127d9ce82
Update.
...
llvm-svn: 36407
2007-04-24 21:20:03 +00:00
Bill Wendling
54134a37e0
Add the PADDQ to the list.
...
llvm-svn: 36406
2007-04-24 21:19:14 +00:00
Bill Wendling
498c102df6
Add the final MMX instructions. Correct a few wrong patterns.
...
llvm-svn: 36405
2007-04-24 21:18:37 +00:00
Bill Wendling
fed8496c6b
Remove some invalid instructions from this check.
...
llvm-svn: 36404
2007-04-24 21:17:46 +00:00
Bill Wendling
6856e741fa
Support for the special case of a vector with the canonical form:
...
vector_shuffle v1, v2, <2, 6, 3, 7>
I.e.
vector_shuffle v, undef, <2, 2, 3, 3>
MMX only has a shuffle for v4i16 vectors. It needs to use the unpackh for
this type of operation.
llvm-svn: 36403
2007-04-24 21:16:55 +00:00
Bill Wendling
b3b0427654
Assertion when using a 1-element vector for an add operation. Get the
...
real vector type in this case.
llvm-svn: 36402
2007-04-24 21:13:23 +00:00
Devang Patel
cf0efbd454
New test.
...
llvm-svn: 36401
2007-04-24 21:05:52 +00:00
Devang Patel
ad19e20a45
New test case.
...
llvm-svn: 36400
2007-04-24 19:24:39 +00:00
Devang Patel
c2b860bcf0
Add myself.
...
llvm-svn: 36399
2007-04-24 18:49:33 +00:00
Chris Lattner
2d9d9a4bcf
ensure that every error return sets a message (and goes through Error, for
...
easy breakpointing).
Fix bugs reading constantexpr geps. We now can disassemble kc++ global
initializers.
llvm-svn: 36398
2007-04-24 18:15:21 +00:00
Chris Lattner
107680bd42
fix memory leak
...
llvm-svn: 36397
2007-04-24 17:22:05 +00:00
Chris Lattner
3cceed4230
fix a memory leak
...
llvm-svn: 36396
2007-04-24 17:20:52 +00:00
Chris Lattner
61f8d0e81c
comentate
...
llvm-svn: 36395
2007-04-24 15:54:42 +00:00
Chris Lattner
30fd018c93
implement reading and writing of constant exprs.
...
llvm-svn: 36394
2007-04-24 07:07:11 +00:00
Chris Lattner
5ae162a9d2
add records for constant exprs
...
llvm-svn: 36393
2007-04-24 07:03:08 +00:00
Owen Anderson
df3ece8561
Rollback some changes that adversely affected performance. I'm currently rethinking
...
my approach to this, so hopefully I'll find a way to do this without making this slower.
llvm-svn: 36392
2007-04-24 06:40:39 +00:00
Chris Lattner
ce97f22311
implement support for reading aggregate constants, including handling forward
...
constant references, etc.
llvm-svn: 36391
2007-04-24 05:48:56 +00:00