Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.139 -> 1.140
---
Log message:
Use DominatorTree instead of ETForest.
---
Diffs of the changes: (+7 -8)
LoopStrengthReduce.cpp | 15 +++
1 files changed, 7 insertions(+), 8 deletions(-)
Index:
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.138 -> 1.139
---
Log message:
Fix PR1495: http://llvm.org/PR1495 and CodeGen/X86/2007-06-05-LSR-Dominator.ll
---
Diffs of the changes: (+6 -0)
LoopStrengthReduce.cpp |6 ++
1 files changed, 6 insert
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.137 -> 1.138
---
Log message:
Handle negative strides much more optimally. This compiles
X86/lsr-negative-stride.ll
into:
_t:
movl 8(%esp), %ecx
movl 4(%esp), %eax
cmpl %ecx, %eax
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.136 -> 1.137
---
Log message:
significantly improve debug output of lsr
---
Diffs of the changes: (+13 -6)
LoopStrengthReduce.cpp | 19 +--
1 files changed, 13 insertions(+), 6 deletions(-)
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.135 -> 1.136
---
Log message:
Use IntrinsicInst to test for prefetch instructions, which is ever so
slightly nicer than using CallInst with an extra check; thanks Chris.
---
Diffs of the changes: (+5 -6)
Loo
> + } else if (CallInst *CI = dyn_cast(UsersToProcess
> [i].Inst)) {
> +// Addressing modes can also be folded into prefetches.
> +Function *CalledFunc = CI->getCalledFunction();
> +if (CalledFunc != NULL &&
> +CalledFunc->getIntrinsicID() == Intrinsic::pr
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.134 -> 1.135
---
Log message:
Allow strength reduction to make use of addressing modes for the
address operand in a prefetch intrinsic.
---
Diffs of the changes: (+10 -1)
LoopStrengthReduce.cpp | 11 ++
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.130 -> 1.131
---
Log message:
Fix
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070423/048333.html
---
Diffs of the changes: (+9 -5)
LoopStrengthReduce.cpp | 14 +-
1 files chan
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.129 -> 1.130
---
Log message:
Remove ImmediateDominator analysis. The same information can be obtained from
DomTree. A lot of code for
constructing ImmediateDominator is now folded into DomTree construction.
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.128 -> 1.129
---
Log message:
Now that codegen prepare isn't defeating me, I can finally fix what I set
out to do! :)
This fixes a problem where LSR would insert a bunch of code into each MBB
that uses a particu
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.127 -> 1.128
---
Log message:
switch LSR to use isLegalAddressingMode instead of other simpler hooks
---
Diffs of the changes: (+21 -18)
LoopStrengthReduce.cpp | 39 +--
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.126 -> 1.127
---
Log message:
Completely purge DomSet. This is the (hopefully) final patch for PR1171:
http://llvm.org/PR1171 .
---
Diffs of the changes: (+0 -1)
LoopStrengthReduce.cpp |1 -
1 files ch
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.125 -> 1.126
---
Log message:
split some code out into a helper function
---
Diffs of the changes: (+30 -18)
LoopStrengthReduce.cpp | 48 ++--
1 files changed, 3
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.124 -> 1.125
---
Log message:
allow -1 strides to reuse "1" strides.
---
Diffs of the changes: (+2 -1)
LoopStrengthReduce.cpp |3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
Index: llvm/lib/Tra
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.123 -> 1.124
---
Log message:
Pass the type of the store access, not the type of the store, into the
target hook. This allows us to codegen a loop as:
LBB1_1: @cond_next
mov r2, #0
str r2, [r0,
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.122 -> 1.123
---
Log message:
print the type of an inserted IV in -debug mode.
---
Diffs of the changes: (+4 -3)
LoopStrengthReduce.cpp |7 ---
1 files changed, 4 insertions(+), 3 deletions(-)
Inde
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.121 -> 1.122
---
Log message:
Look through bitcast when finding IVs. (Chris' patch really.)
---
Diffs of the changes: (+10 -0)
LoopStrengthReduce.cpp | 10 ++
1 files changed, 10 insertions(+)
I
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.120 -> 1.121
---
Log message:
do not share old induction variables when this would result in invalid
instructions (that would have to be split later)
---
Diffs of the changes: (+26 -18)
LoopStrengthReduce.cp
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.119 -> 1.120
---
Log message:
Fix some VC++ warnings.
---
Diffs of the changes: (+1 -1)
LoopStrengthReduce.cpp |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/lib/Transforms/Scalar/Loo
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.118 -> 1.119
---
Log message:
use types of loads and stores, not address, in CheckForIVReuse
---
Diffs of the changes: (+28 -7)
LoopStrengthReduce.cpp | 35 ---
1 files chan
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.117 -> 1.118
---
Log message:
Correct type info for isLegalAddressImmediate() check.
---
Diffs of the changes: (+18 -12)
LoopStrengthReduce.cpp | 30 ++
1 files changed, 18 inser
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.116 -> 1.117
---
Log message:
Use new TargetLowering addressing modes hooks.
---
Diffs of the changes: (+18 -20)
LoopStrengthReduce.cpp | 38 ++
1 files changed, 18 inser
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.115 -> 1.116
---
Log message:
Increment iterator now because IVUseShouldUsePostIncValue may remove
User from the list of I users.
---
Diffs of the changes: (+6 -2)
LoopStrengthReduce.cpp |8 ++--
1
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.114 -> 1.115
---
Log message:
Now LoopStrengthReduce is a LoopPass.
---
Diffs of the changes: (+14 -23)
LoopStrengthReduce.cpp | 37 ++---
1 files changed, 14 insertions(+),
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.113 -> 1.114
---
Log message:
Finally get this patch right :)
Replace expensive getZExtValue() == 0 calls with isZero() calls.
---
Diffs of the changes: (+5 -5)
LoopStrengthReduce.cpp | 10 +-
1 fi
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.112 -> 1.113
---
Log message:
Dang, I've done that twice now! Undo previous commit.
---
Diffs of the changes: (+11 -12)
LoopStrengthReduce.cpp | 23 +++
1 files changed, 11 insertions(+
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.111 -> 1.112
LoopUnswitch.cpp updated: 1.63 -> 1.64
---
Log message:
Use more efficient test for one value in a ConstantInt.
---
Diffs of the changes: (+14 -13)
LoopStrengthReduce.cpp | 23
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.110 -> 1.111
---
Log message:
Reverse a premature commital.
---
Diffs of the changes: (+17 -21)
LoopStrengthReduce.cpp | 38 +-
1 files changed, 17 insertions(+), 21 del
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.108 -> 1.109
ScalarReplAggregates.cpp updated: 1.70 -> 1.71
---
Log message:
Privatize StructLayout::MemberOffsets, adding an accessor
---
Diffs of the changes: (+3 -2)
LoopStrengthReduce.cpp |2 +-
Sc
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.104 -> 1.105
---
Log message:
For PR1097: http://llvm.org/PR1097 :
Enable complex addressing modes on 64-bit platforms involving two induction
variables by keeping a size and scale in 64-bits not 32.
Patch by Da
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.103 -> 1.104
---
Log message:
no need to worry about int vs uint any more.
---
Diffs of the changes: (+1 -2)
LoopStrengthReduce.cpp |3 +--
1 files changed, 1 insertion(+), 2 deletions(-)
Index: llvm/l
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.99 -> 1.100
---
Log message:
Change the interface to SCEVExpander::InsertCastOfTo to take a cast opcode
so the decision of which opcode to use is pushed upward to the caller.
Adjust the callers to pass the expec
> -/// getCastedVersionOf - Return the specified value casted to
> uintptr_t.
> +/// getCastedVersionOf - Return the specified value casted to
> uintptr_t. This
> +/// assumes that the Value* V is of integer or pointer type only.
> ///
> Value *LoopStrengthReduce::getCastedVersionOf(Value *V)
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.98 -> 1.99
SCCP.cpp updated: 1.140 -> 1.141
---
Log message:
Change inferred getCast into specific getCast. Passes all tests.
---
Diffs of the changes: (+9 -3)
LoopStrengthReduce.cpp |9 +++--
SCCP.c
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.93 -> 1.94
---
Log message:
If an indvar with a variable stride is used by the exit condition, go ahead
and handle it like constant stride vars. This fixes some bad codegen in
variable stride cases. For exampl
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.91 -> 1.92
---
Log message:
break edges more intelligently
---
Diffs of the changes: (+3 -2)
LoopStrengthReduce.cpp |5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
Index: llvm/lib/Transforms
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.90 -> 1.91
---
Log message:
prepare for a change I'm about to make
---
Diffs of the changes: (+6 -0)
LoopStrengthReduce.cpp |6 ++
1 files changed, 6 insertions(+)
Index: llvm/lib/Transforms/Scalar
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.86 -> 1.87
---
Log message:
Changes:
1. Update an obsolete comment.
2. Make the sorting by base an explicit (though still N^2) step, so
that the code is more clear on what it is doing.
3. Partition u
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.85 -> 1.86
---
Log message:
Only reuse a previous IV if it would not require a type conversion.
---
Diffs of the changes: (+17 -14)
LoopStrengthReduce.cpp | 31 +--
1 files chang
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.84 -> 1.85
LowerAllocations.cpp updated: 1.58 -> 1.59
ScalarReplAggregates.cpp updated: 1.39 -> 1.40
---
Log message:
Use hidden visibility to make symbols in an anonymous namespace get
dropped. This shrinks lib
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.83 -> 1.84
---
Log message:
RewriteExpr, either the new PHI node of induction variable or the
post-increment value, should be first cast to the appropriated type (to the
type of the common expr). Otherwise, the r
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.82 -> 1.83
---
Log message:
Get rid of a signed/unsigned compare warning.
---
Diffs of the changes: (+1 -1)
LoopStrengthReduce.cpp |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/lib/
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.81 -> 1.82
---
Log message:
Fix spello
---
Diffs of the changes: (+2 -2)
LoopStrengthReduce.cpp |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Index: llvm/lib/Transforms/Scalar/LoopStrengthR
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.80 -> 1.81
---
Log message:
silence a bogus gcc warning
---
Diffs of the changes: (+2 -2)
LoopStrengthReduce.cpp |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Index: llvm/lib/Transforms/Sca
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.79 -> 1.80
---
Log message:
- Fixed a bogus if condition.
- Added more debugging info.
- Allow reuse of IV of negative stride. e.g. -4 stride == 2 * iv of -2 stride.
---
Diffs of the changes: (+25 -19)
LoopS
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.78 -> 1.79
---
Log message:
Sort StrideOrder so we can process the smallest strides first. This allows
for more IV reuses.
---
Diffs of the changes: (+27 -0)
LoopStrengthReduce.cpp | 27 +++
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.77 -> 1.78
---
Log message:
Allow users of iv / stride to be rewritten with expression that is a multiply
of a smaller stride even if they have a common loop invariant expression part.
---
Diffs of the changes:
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.76 -> 1.77
---
Log message:
For each loop, keep track of all the IV expressions inserted indexed by
stride. For a set of uses of the IV of a stride which is a multiple
of another stride, do not insert a new IV ex
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.75 -> 1.76
---
Log message:
Added target lowering hooks which LSR consults to make more intelligent
transformation decisions.
---
Diffs of the changes: (+33 -25)
LoopStrengthReduce.cpp | 58 +++
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.74 -> 1.75
---
Log message:
Use SCEVExpander::InsertCastOfTo instead of our own code. This reduces
#LLVM LOC, and auto-cse's cast instructions.
---
Diffs of the changes: (+1 -18)
LoopStrengthReduce.cpp |
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.73 -> 1.74
---
Log message:
Fix two significant bugs in LSR:
1. When rewriting code in outer loops, sometimes we would insert code into
inner loops that is invariant in that loop.
2. Notice that 4*(2+x) is 8+
Changes in directory llvm/lib/Transforms/Scalar:
LoopStrengthReduce.cpp updated: 1.70 -> 1.71
---
Log message:
getRawValue zero extens for unsigned values, use getsextvalue so that we
know that small negative values fit into the immediate field of addressing
modes.
---
Diffs of the changes:
52 matches
Mail list logo