- Oct 26, 2007
-
-
Evan Cheng authored
llvm-svn: 43384
-
Anton Korobeynikov authored
registers in case, when FP pointer was eliminated. This should fixes misc. random EH-related crahses, when stuff is compiled with -fomit-frame-pointer. Thanks Duncan for nailing this bug! llvm-svn: 43381
-
Eric Christopher authored
want them later (mips32/64). llvm-svn: 43380
-
Owen Anderson authored
llvm-svn: 43379
-
Gordon Henriksen authored
improved wording in source files. llvm-svn: 43377
-
Evan Cheng authored
Loosen up iv reuse to allow reuse of the same stride but a larger type when truncating from the larger type to smaller type is free. e.g. Turns this loop: LBB1_1: # entry.bb_crit_edge xorl %ecx, %ecx xorw %dx, %dx movw %dx, %si LBB1_2: # bb movl L_X$non_lazy_ptr, %edi movw %si, (%edi) movl L_Y$non_lazy_ptr, %edi movw %dx, (%edi) addw $4, %dx incw %si incl %ecx cmpl %eax, %ecx jne LBB1_2 # bb into LBB1_1: # entry.bb_crit_edge xorl %ecx, %ecx xorw %dx, %dx LBB1_2: # bb movl L_X$non_lazy_ptr, %esi movw %cx, (%esi) movl L_Y$non_lazy_ptr, %esi movw %dx, (%esi) addw $4, %dx incl %ecx cmpl %eax, %ecx jne LBB1_2 # bb llvm-svn: 43375
-
Hartmut Kaiser authored
llvm-svn: 43374
-
Ted Kremenek authored
pointers that employ unused bits in a pointer to store extra data. llvm-svn: 43373
-
Hartmut Kaiser authored
Silenced VC++ warning. llvm-svn: 43372
-
Hartmut Kaiser authored
llvm-svn: 43369
-
Evan Cheng authored
stride may be rewritten using the stride of the compare instruction. llvm-svn: 43367
-
- Oct 25, 2007
-
-
Dale Johannesen authored
llvm-svn: 43364
-
Bill Wendling authored
llvm-svn: 43359
-
Ted Kremenek authored
llvm-svn: 43357
-
Evan Cheng authored
llvm-svn: 43356
-
Bill Wendling authored
llvm-svn: 43353
-
Duncan Sands authored
Use NVT rather than looking it up, since we have it to hand. llvm-svn: 43341
-
Duncan Sands authored
llvm-svn: 43340
-
Duncan Sands authored
llvm-svn: 43339
-
Evan Cheng authored
and the compaison is against a constant value, try eliminate the stride by moving the compare instruction to another stride and change its constant operand accordingly. e.g. loop: ... v1 = v1 + 3 v2 = v2 + 1 if (v2 < 10) goto loop => loop: ... v1 = v1 + 3 if (v1 < 30) goto loop llvm-svn: 43336
-
Owen Anderson authored
llvm-svn: 43326
-
Ted Kremenek authored
for backpatching. Added Deserialize::ReadVal. llvm-svn: 43319
-
Dale Johannesen authored
llvm-svn: 43314
-
- Oct 24, 2007
-
-
Dale Johannesen authored
llvm-svn: 43309
-
Ted Kremenek authored
Deserialize.h Serialization.h now includes trait speciailizations for unsigned long, etc. llvm-svn: 43307
-
Chris Lattner authored
llvm-svn: 43305
-
Chris Lattner authored
implementing cases related to PR1738. llvm-svn: 43289
-
Bill Wendling authored
llvm-svn: 43271
-
Bill Wendling authored
memcpy library function instead. llvm-svn: 43270
-
Dale Johannesen authored
llvm-svn: 43267
-
Bill Wendling authored
llvm-svn: 43264
-
- Oct 23, 2007
-
-
Bill Wendling authored
have their own custom memcpy lowering code. This code needs to be factored out into a target-independent lowering method with hooks to the backend. In the meantime, just call memcpy if we're trying to copy onto a stack. llvm-svn: 43262
-
Ted Kremenek authored
llvm-svn: 43261
-
Owen Anderson authored
llvm-svn: 43259
-
Evan Cheng authored
llvm-svn: 43256
-
Evan Cheng authored
llvm-svn: 43249
-
Evan Cheng authored
Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with right callee-saved defs set for ppc64. llvm-svn: 43248
-
Evan Cheng authored
llvm-svn: 43234
-
- Oct 22, 2007
-
-
Dan Gohman authored
llvm-svn: 43232
-
Dan Gohman authored
- Avoid attempting stride-reuse in the case that there are users that aren't addresses. In that case, there will be places where the multiplications won't be folded away, so it's better to try to strength-reduce them. - Several SSE intrinsics have operands that strength-reduction can treat as addresses. The previous item makes this more visible, as any non-address use of an IV can inhibit stride-reuse. - Make ValidStride aware of whether there's likely to be a base register in the address computation. This prevents it from thinking that things like stride 9 are valid on x86 when the base register is already occupied. Also, XFAIL the 2007-08-10-LEA16Use32.ll test; the new logic to avoid stride-reuse elimintes the LEA in the loop, so the test is no longer testing what it was intended to test. llvm-svn: 43231
-