Bill Wendling
9de1371fc9
Quiet a compiler warning about assignment in an if-then conditional.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36454 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 23:52:02 +00:00
Chris Lattner
0bc2f48d6f
&& no longer needed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36453 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 22:32:55 +00:00
Evan Cheng
6c087e5585
Match MachineFunction::UsedPhysRegs changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36452 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 22:13:27 +00:00
Evan Cheng
505e5510a2
Change UsedPhysRegs from array bool to BitVector to save some space. Setting / getting its states now go through MachineFunction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 22:10:09 +00:00
Bill Wendling
a03f1e3b0c
Testcase for codegen bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36450 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 21:58:17 +00:00
Evan Cheng
ade31f9f07
Clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36449 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 21:34:08 +00:00
Bill Wendling
3f3a17dd62
Add SSSE3 as a feature of Core2. Add MMX registers to the list of registers
...
clobbered by a call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36448 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 21:31:48 +00:00
Evan Cheng
e96f50142e
Data structure change to improve compile time (especially in debug mode).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36447 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 19:34:00 +00:00
Devang Patel
c20a64d2bb
Mem2Reg does not need TargetData.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36446 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 18:41:11 +00:00
Evan Cheng
c1a3520580
This was lefted out. Fixed sumarray-dbl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36445 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 18:33:21 +00:00
Devang Patel
68c01b3cf3
Mem2Reg does not need TargetData.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36444 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 18:32:35 +00:00
Anton Korobeynikov
c0fabcbabe
Add missed semicolon. Resotre compatibility with older bisons
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36443 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 18:07:40 +00:00
Chris Lattner
7c6eefa5f1
do the multiplication as signed, so that 2*-2 == -4 instead of 4294967292
...
when promoted to 64-bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36442 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 17:23:53 +00:00
Devang Patel
41968df51e
Remove unused function argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36441 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 17:15:20 +00:00
Jeff Cohen
65e203d713
Note new header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36440 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 17:13:18 +00:00
Anton Korobeynikov
7bc428fa6f
Add missed file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36439 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 16:42:39 +00:00
Lauro Ramos Venancio
305b8a5f62
remember to emit weak reference in one more case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36438 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 14:50:40 +00:00
Anton Korobeynikov
77d0f970b3
Regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36437 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 14:29:12 +00:00
Anton Korobeynikov
8b0a8c84da
Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
...
will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 14:27:10 +00:00
Evan Cheng
24a3cc4c83
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36434 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:30:23 +00:00
Evan Cheng
b2f2e64c07
Test if a register is sub- or super-register of another.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:24:50 +00:00
Evan Cheng
cdee1c4272
Minor speed tweak.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:24:13 +00:00
Evan Cheng
92efbfcd2d
Clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36431 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:18:20 +00:00
Evan Cheng
1e341729dd
Relex assertions to account for additional implicit def / use operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36430 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 07:12:14 +00:00
Chris Lattner
79b3bd395d
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36429 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 06:40:51 +00:00
Chris Lattner
54c4d40beb
new testcase, should be able to eliminate the alloca and memcpy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36428 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 06:29:34 +00:00
Chris Lattner
1a34b7bf9a
simplify some code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36427 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 05:49:09 +00:00
Chris Lattner
a10b29b84b
refactor the SROA code out into its own method, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36426 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 05:02:56 +00:00
Chris Lattner
ea84c5ee95
support for >4G stack frames
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36425 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:30:24 +00:00
Chris Lattner
e47b1446d8
support for >4G frames
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36424 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:29:06 +00:00
Chris Lattner
618078016d
support >4G stack frames
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36423 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:25:10 +00:00
Chris Lattner
a401b1e1c5
support > 4G stack objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36422 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:20:54 +00:00
Owen Anderson
ab0e4d38f0
Undo my previous changes. Since my approach to this problem is being revised,
...
this approach is no longer appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:18:54 +00:00
Chris Lattner
6266c18ea1
allow support for 64-bit stack objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36420 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:08:28 +00:00
Chris Lattner
be7d83ec0e
allow 64-bit stack objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 04:07:31 +00:00
Chris Lattner
4aa8495de7
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36418 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 01:51:33 +00:00
Devang Patel
75abc1ed06
Fix
...
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070423/048376.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36417 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 00:37:04 +00:00
Devang Patel
193b585f1b
New test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 00:35:37 +00:00
Chris Lattner
5fa4c43f14
testcase for PR1352
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 00:26:05 +00:00
Dale Johannesen
82434387dd
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36414 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 00:14:49 +00:00
Chris Lattner
964dd86054
Be more careful about folding op(x, undef) when we have vector operands.
...
This fixes CodeGen/X86/2007-04-24-VectorCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36413 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 00:00:45 +00:00
Chris Lattner
3d4a548978
new testcase that crashes llc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36412 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 00:00:12 +00:00
Dale Johannesen
2fcdf64ddd
Add me
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 23:48:30 +00:00
Chris Lattner
6c2d260161
Fix PR1351 and CodeGen/PowerPC/2007-04-24-InlineAsm-I-Modifier.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36410 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 22:51:03 +00:00
Chris Lattner
10161db780
testcase for PR1351
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36409 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 22:49:57 +00:00
Bill Wendling
b635d3faac
Testcases for MMX.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36408 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 22:28:30 +00:00
Bill Wendling
a2c38ae90d
Update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36407 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 21:20:03 +00:00
Bill Wendling
b53e98eb30
Add the PADDQ to the list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36406 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 21:19:14 +00:00
Bill Wendling
69dc5332de
Add the final MMX instructions. Correct a few wrong patterns.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36405 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 21:18:37 +00:00
Bill Wendling
6dd29e08f7
Remove some invalid instructions from this check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36404 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 21:17:46 +00:00