- Dec 26, 2010
-
-
Chris Lattner authored
llvm-svn: 122567
-
Chris Lattner authored
llvm-svn: 122565
-
Chris Lattner authored
llvm-svn: 122563
-
Chris Lattner authored
No functionality yet. llvm-svn: 122562
-
Benjamin Kramer authored
llvm-svn: 122561
-
- Dec 24, 2010
-
-
Benjamin Kramer authored
Fix a thinko pointed out by Frits van Bommel: looking through global variables in isBytewiseValue is not safe. llvm-svn: 122550
-
Benjamin Kramer authored
This allows us to compile "int cst[] = {-1, -1, -1};" into movl $-1, 16(%rsp) movq $-1, 8(%rsp) instead of movl _cst+8(%rip), %eax movl %eax, 16(%rsp) movq _cst(%rip), %rax movq %rax, 8(%rsp) llvm-svn: 122548
-
- Dec 23, 2010
-
-
Owen Anderson authored
pipeline to be caught by instcombine, and it's not feasible to catch them in SimplifyCFG because the use-lists are in an inconsistent state at the point where it could know that it need to simplify them. Instead, have CodeGenPrepare look for trivially redundant PHIs as part of its general cleanup effort. llvm-svn: 122516
-
Mon P Wang authored
llvm-svn: 122462
-
Jeffrey Yasskin authored
new gcc warning that complains on self-assignments and self-initializations. llvm-svn: 122458
-
- Dec 22, 2010
-
-
Owen Anderson authored
I still think that LVI should be handling this, but that capability is some ways off in the future, and this matters for some significant benchmarks. llvm-svn: 122378
-
- Dec 21, 2010
-
-
Owen Anderson authored
llvm-svn: 122371
-
Benjamin Kramer authored
llvm-svn: 122362
-
- Dec 19, 2010
-
-
Chris Lattner authored
llvm-svn: 122190
-
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
llvm-svn: 122168
-
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
-
- Dec 17, 2010
-
-
Dan Gohman authored
a null endptr argument, because they may write to errno. This fixes a seflhost miscompile observed on Linux targets when TBAA was enabled. llvm-svn: 122014
-
- Dec 16, 2010
-
-
Frits van Bommel authored
Fix a bug in the loop in JumpThreading::ProcessThreadableEdges() where it could falsely produce a MultipleDestSentinel value if the first predecessor ended with an 'indirectbr'. If that happened, it caused an unnecessary FindMostPopularDest() call. This wasn't a correctness problem, but it broke the fast path for single-predecessor blocks. llvm-svn: 121966
-
Dan Gohman authored
llvm-svn: 121944
-
Dan Gohman authored
llvm-svn: 121921
-
- Dec 15, 2010
-
-
Dan Gohman authored
function so that it can live in Analysis instead of VMCore. llvm-svn: 121885
-
Frits van Bommel authored
Teach jump threading to "look through" a select when the branch direction of a terminator depends on it. When it sees a promising select it now tries to figure out whether the condition of the select is known in any of the predecessors and if so it maps the operands appropriately. llvm-svn: 121859
-
Owen Anderson authored
this case involve a select that simplifies to itself. llvm-svn: 121817
-
Owen Anderson authored
llvm-svn: 121816
-
- Dec 13, 2010
-
-
Chris Lattner authored
llvm-svn: 121670
-
- Dec 09, 2010
-
-
Chris Lattner authored
llvm-svn: 121362
-
Chris Lattner authored
substitution because it doesn't actually change the IR. Patch by Jakub Staszak! llvm-svn: 121361
-
- Dec 07, 2010
-
-
Frits van Bommel authored
The last uses of these functions were removed in r113852 when LazyValueInfo was permanently enabled and removed the need for them. llvm-svn: 121133
-
Jay Foad authored
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. llvm-svn: 121120
-
Frits van Bommel authored
Implement jump threading of 'indirectbr' by keeping track of whether we're looking for ConstantInt*s or BlockAddress*s. llvm-svn: 121066
-
- Dec 06, 2010
-
-
Chris Lattner authored
llvm-svn: 121040
-
Chris Lattner authored
llvm-svn: 121038
-
Chris Lattner authored
memcpy's like: memcpy(A, B) memcpy(A, C) we cannot delete the first memcpy as dead if A and C might be aliases. If so, we actually get: memcpy(A, B) memcpy(A, A) which is not correct to transform into: memcpy(A, A) This patch was heavily influenced by Jakub Staszak's patch in PR8728, thanks Jakub! llvm-svn: 120974
-
- Dec 05, 2010
-
-
Frits van Bommel authored
Should have no functional change other than the order of two transformations that are mutually-exclusive and the exact formatting of debug output. Internally, it now stores the ConstantInt*s as Constant*s, and actual undef values instead of nulls. llvm-svn: 120946
-
Frits van Bommel authored
llvm-svn: 120945
-
- Dec 01, 2010
-
-
Chris Lattner authored
20040709-1.c from the gcc testsuite. I was using the size of a pointer instead of the pointee. This fixes rdar://8713376 llvm-svn: 120519
-
Chris Lattner authored
llvm-svn: 120498
-
Chris Lattner authored
may-aliasing stores that partially overlap with different base pointers. This implements PR6043 and the non-variable part of PR8657 llvm-svn: 120485
-