- Apr 26, 2007
-
-
Evan Cheng authored
llvm-svn: 36452
-
Evan Cheng authored
Change UsedPhysRegs from array bool to BitVector to save some space. Setting / getting its states now go through MachineFunction. llvm-svn: 36451
-
- Apr 25, 2007
-
-
Evan Cheng authored
llvm-svn: 36449
-
Bill Wendling authored
clobbered by a call. llvm-svn: 36448
-
Evan Cheng authored
llvm-svn: 36447
-
Evan Cheng authored
llvm-svn: 36445
-
Devang Patel authored
llvm-svn: 36444
-
Anton Korobeynikov authored
llvm-svn: 36443
-
Chris Lattner authored
when promoted to 64-bits llvm-svn: 36442
-
Devang Patel authored
llvm-svn: 36441
-
Lauro Ramos Venancio authored
llvm-svn: 36438
-
Anton Korobeynikov authored
llvm-svn: 36437
-
Anton Korobeynikov authored
will follow. llvm-svn: 36435
-
Evan Cheng authored
- 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
-
Evan Cheng authored
llvm-svn: 36431
-
Evan Cheng authored
llvm-svn: 36430
-
Chris Lattner authored
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
-
Chris Lattner authored
llvm-svn: 36427
-
Chris Lattner authored
llvm-svn: 36426
-
Chris Lattner authored
llvm-svn: 36425
-
Chris Lattner authored
llvm-svn: 36423
-
Chris Lattner authored
llvm-svn: 36422
-
Owen Anderson authored
this approach is no longer appropriate. llvm-svn: 36421
-
Chris Lattner authored
llvm-svn: 36420
-
Devang Patel authored
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070423/048376.html llvm-svn: 36417
-
Chris Lattner authored
This fixes CodeGen/X86/2007-04-24-VectorCrash.ll llvm-svn: 36413
-
Chris Lattner authored
llvm-svn: 36410
-
- Apr 24, 2007
-
-
Bill Wendling authored
llvm-svn: 36407
-
Bill Wendling authored
llvm-svn: 36406
-
Bill Wendling authored
llvm-svn: 36405
-
Bill Wendling authored
llvm-svn: 36404
-
Bill Wendling authored
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
-
Bill Wendling authored
real vector type in this case. llvm-svn: 36402
-
Chris Lattner authored
easy breakpointing). Fix bugs reading constantexpr geps. We now can disassemble kc++ global initializers. llvm-svn: 36398
-
Chris Lattner authored
llvm-svn: 36397
-
Chris Lattner authored
llvm-svn: 36396
-
Chris Lattner authored
llvm-svn: 36394
-
Owen Anderson authored
my approach to this, so hopefully I'll find a way to do this without making this slower. llvm-svn: 36392
-
Chris Lattner authored
constant references, etc. llvm-svn: 36391
-
Chris Lattner authored
llvm-svn: 36390
-