1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Commit Graph

31945 Commits

Author SHA1 Message Date
Evan Cheng
1f7af4892a New test case.
llvm-svn: 36455
2007-04-26 00:07:36 +00:00
Bill Wendling
6968d3cb0d Quiet a compiler warning about assignment in an if-then conditional.
llvm-svn: 36454
2007-04-25 23:52:02 +00:00
Chris Lattner
22ce25e1ec && no longer needed
llvm-svn: 36453
2007-04-25 22:32:55 +00:00
Evan Cheng
7f44e880dc Match MachineFunction::UsedPhysRegs changes.
llvm-svn: 36452
2007-04-25 22:13:27 +00:00
Evan Cheng
132ea465a1 Change UsedPhysRegs from array bool to BitVector to save some space. Setting / getting its states now go through MachineFunction.
llvm-svn: 36451
2007-04-25 22:10:09 +00:00
Bill Wendling
43dbe6d0d2 Testcase for codegen bug.
llvm-svn: 36450
2007-04-25 21:58:17 +00:00
Evan Cheng
c3b686ff44 Clean up.
llvm-svn: 36449
2007-04-25 21:34:08 +00:00
Bill Wendling
552e4ff1be Add SSSE3 as a feature of Core2. Add MMX registers to the list of registers
clobbered by a call.

llvm-svn: 36448
2007-04-25 21:31:48 +00:00
Evan Cheng
e464e596a6 Data structure change to improve compile time (especially in debug mode).
llvm-svn: 36447
2007-04-25 19:34:00 +00:00
Devang Patel
6a358e5694 Mem2Reg does not need TargetData.
llvm-svn: 36446
2007-04-25 18:41:11 +00:00
Evan Cheng
c713a5ea36 This was lefted out. Fixed sumarray-dbl.
llvm-svn: 36445
2007-04-25 18:33:21 +00:00
Devang Patel
e5765bd115 Mem2Reg does not need TargetData.
llvm-svn: 36444
2007-04-25 18:32:35 +00:00
Anton Korobeynikov
60f5a47a64 Add missed semicolon. Resotre compatibility with older bisons
llvm-svn: 36443
2007-04-25 18:07:40 +00:00
Chris Lattner
fd730d86e3 do the multiplication as signed, so that 2*-2 == -4 instead of 4294967292
when promoted to 64-bits

llvm-svn: 36442
2007-04-25 17:23:53 +00:00
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