- Dec 19, 2010
-
-
Chris Lattner authored
enough to teach it that ADDE(0,0) is known 0 except the low bit, for example. llvm-svn: 122191
-
Chris Lattner authored
llvm-svn: 122190
-
Chris Lattner authored
we don't need -disable-mmx anymore. llvm-svn: 122189
-
Chris Lattner authored
tests don't need -disable-mmx. llvm-svn: 122188
-
Chris Lattner authored
llvm-svn: 122187
-
Chris Lattner authored
generate them. Now we compile: define zeroext i8 @X(i8 signext %a, i8 signext %b) nounwind ssp { entry: %0 = tail call %0 @llvm.sadd.with.overflow.i8(i8 %a, i8 %b) %cmp = extractvalue %0 %0, 1 br i1 %cmp, label %if.then, label %if.end into: _X: ## @X ## BB#0: ## %entry subl $12, %esp movb 16(%esp), %al addb 20(%esp), %al jo LBB0_2 Before we were generating: _X: ## @X ## BB#0: ## %entry pushl %ebp movl %esp, %ebp subl $8, %esp movb 12(%ebp), %al testb %al, %al setge %cl movb 8(%ebp), %dl testb %dl, %dl setge %ah cmpb %cl, %ah sete %cl addb %al, %dl testb %dl, %dl setge %al cmpb %al, %ah setne %al andb %cl, %al testb %al, %al jne LBB0_2 llvm-svn: 122186
-
Chris Lattner authored
llvm-svn: 122185
-
Chris Lattner authored
llvm-svn: 122183
-
Chris Lattner authored
This resolves a README entry and technically resolves PR4916, but we still get poor code for the testcase in that PR because GVN isn't CSE'ing uadd with add, filed as PR8817. Previously we got: _test7: ## @test7 addq %rsi, %rdi cmpq %rdi, %rsi movl $42, %eax cmovaq %rsi, %rax ret Now we get: _test7: ## @test7 addq %rsi, %rdi movl $42, %eax cmovbq %rsi, %rax ret llvm-svn: 122182
-
Chris Lattner authored
result is dead. This is required for my next patch to not regress the testsuite. llvm-svn: 122181
-
Chris Lattner authored
llvm-svn: 122180
-
Chris Lattner authored
the old thing end up on the instcombine worklist. Not doing this can cause an extra top-level iteration of instcombine, burning compile time. llvm-svn: 122179
-
Chris Lattner authored
sadd formed is half the size of the original type. We can now compile this into a sadd.i8: unsigned char X(char a, char b) { int res = a+b; if ((unsigned )(res+128) > 255U) abort(); return res; } llvm-svn: 122178
-
Chris Lattner authored
checking to see if the high bits of the original add result were dead. Inserting a smaller add and zexting back to that size is not good enough. This is likely to be the fix for 8816. llvm-svn: 122177
-
Cameron Zwarich authored
alternative register allocator that does not require LiveIntervals by specifying it on the command-line for a target that has StrongPHIElimination enabled by default. These checks are pretty meaningless anyways, since StrongPHIElimination and PHIElimination are never used at the same time. llvm-svn: 122176
-
Chris Lattner authored
profitable (or safe) to promote code when the add-with-constant has other uses. llvm-svn: 122175
-
Chris Lattner authored
helper function, clean up comments, and reduce indentation. No functionality change. llvm-svn: 122174
-
Chris Lattner authored
which doesn't affect the memory address being promoted. llvm-svn: 122172
-
Chris Lattner authored
does not make the alias set for that pointer volatile, just stores *to* the pointer. llvm-svn: 122171
-
Chris Lattner authored
isel is *required* to split the edge. PHI values get evaluated on the edge, not in their predecessor block. llvm-svn: 122170
-
Chris Lattner authored
llvm-svn: 122169
-
Chris Lattner authored
llvm-svn: 122168
-
Rafael Espindola authored
llvm-svn: 122167
-
Rafael Espindola authored
llvm-svn: 122165
-
Chris Lattner authored
which have trapping constant exprs in them due to PHI nodes. Eliminating them can cause the constant expr to be evalutated on new paths if the input edges are critical. llvm-svn: 122164
-
Chris Lattner authored
is enabled. llvm-svn: 122163
-
Rafael Espindola authored
llvm-svn: 122160
-
- Dec 18, 2010
-
-
Michael J. Spencer authored
llvm-svn: 122159
-
Michael J. Spencer authored
llvm-svn: 122158
-
Michael J. Spencer authored
llvm-svn: 122157
-
Chris Lattner authored
llvm-svn: 122156
-
Anton Korobeynikov authored
It turns out that ppc backend has really weird interdependencies over different hooks and all stuff is fragile wrt small changes. This should fix PR8749 llvm-svn: 122155
-
Benjamin Kramer authored
Just rename the functions, relying on matching a instruction that has the same name as a symbol is way too fragile. llvm-svn: 122154
-
Benjamin Kramer authored
llvm-svn: 122153
-
Eric Christopher authored
llvm-svn: 122152
-
Roman Divacky authored
This fixed 8615. llvm-svn: 122150
-
Owen Anderson authored
the buildbots. llvm-svn: 122149
-
Rafael Espindola authored
llvm-svn: 122148
-
Rafael Espindola authored
llvm-svn: 122147
-
Rafael Espindola authored
of two symbols in the same fragment. llvm-svn: 122145
-