- Sep 29, 2012
-
-
Chandler Carruth authored
alignment could lose it due to the alloca type moving down to a much smaller alignment guarantee. Now SROA will actively compute a proper alignment, factoring the target data, any explicit alignment, and the offset within the struct. This will in some cases lower the alignment requirements, but when we lower them below those of the type, we drop the alignment entirely to give freedom to the code generator to align it however is convenient. Thanks to Duncan for the lovely test case that pinned this down. =] llvm-svn: 164891
-
Duncan Sands authored
buildbots. Original commit message: A DAGCombine optimization for merging consecutive stores. This optimization is not profitable in many cases because moden processos can store multiple values in parallel, and preparing the consecutive store requires some work. We only handle these cases: 1. Consecutive stores where the values and consecutive loads. For example: int a = p->a; int b = p->b; q->a = a; q->b = b; 2. Consecutive stores where the values are constants. Foe example: q->a = 4; q->b = 5; llvm-svn: 164890
-
Craig Topper authored
Tidy up to match coding standards. Remove 'else' after 'return' and moving operators to end of preceding line. No functional change intended. llvm-svn: 164887
-
Craig Topper authored
Replace a couple if/elses around similar calls with conditional operators on the varying arguments. No functional change. llvm-svn: 164886
-
Nadav Rotem authored
A DAGCombine optimization for merging consecutive stores. This optimization is not profitable in many cases because moden processos can store multiple values in parallel, and preparing the consecutive store requires some work. We only handle these cases: 1. Consecutive stores where the values and consecutive loads. For example: int a = p->a; int b = p->b; q->a = a; q->b = b; 2. Consecutive stores where the values are constants. Foe example: q->a = 4; q->b = 5; llvm-svn: 164885
-
Craig Topper authored
llvm-svn: 164880
-
Evan Cheng authored
llvm-svn: 164867
-
-
Bill Wendling authored
llvm-svn: 164860
-
- Sep 28, 2012
-
-
-
Akira Hatanaka authored
llvm-svn: 164849
-
Bill Wendling authored
llvm-svn: 164848
-
Sean Silva authored
In reStructuredText, indented blocks denote block quotes [1]. This list is not a block quote. [1]. http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#block-quotes llvm-svn: 164847
-
Akira Hatanaka authored
llvm-svn: 164845
-
Manman Ren authored
llvm-svn: 164842
-
Akira Hatanaka authored
llvm-svn: 164840
-
Manman Ren authored
second output of SUB with first output of TEST. PR13966 llvm-svn: 164835
-
Andrew Kaylor authored
Patch committed on behalf of Kirill Uhanov llvm-svn: 164831
-
Benjamin Kramer authored
llvm-svn: 164826
-
Benjamin Kramer authored
llvm-svn: 164823
-
Dmitri Gribenko authored
Patch by Martinez, Javier E. llvm-svn: 164822
-
Benjamin Kramer authored
CorrelatedPropagation: BasicBlock::removePredecessor can simplify PHI nodes. If the it's the condition of a SwitchInst, reload it. Fixes PR13972. llvm-svn: 164818
-
Benjamin Kramer authored
llvm-svn: 164817
-
Benjamin Kramer authored
Fixes PR13968. llvm-svn: 164815
-
Nick Lewycky authored
llvm-svn: 164814
-
Craig Topper authored
llvm-svn: 164813
-
Reed Kotler authored
2. As part of this, added assembly format FEXT_RI16_SP_explicit_ins and moved other lines for FEXT_RI16 formats to be in the right place in the code. 3. Added mayLoad and mayStore assignements for the load/store instructions added and for ones already there that did not have this assignment. 4. Another patch will deal with the problem of load/store byte/halfword to the stack. This is a particular Mips16 problem. llvm-svn: 164811
-
Jakob Stoklund Olesen authored
The new coalescer can turn a full virtual register definition into a partial redef by merging another value into an unused vector lane. Make sure to clear the <read-undef> flag on such defs. llvm-svn: 164807
-
Micah Villmow authored
llvm-svn: 164805
-
- Sep 27, 2012
-
-
Meador Inge authored
llvm-svn: 164800
-
Meador Inge authored
llvm-svn: 164799
-
Meador Inge authored
llvm-svn: 164798
-
Meador Inge authored
llvm-svn: 164797
-
Meador Inge authored
llvm-svn: 164796
-
Jakob Stoklund Olesen authored
The new coalescer is better at merging values into unused vector lanes, improving NEON code. llvm-svn: 164794
-
Jakob Stoklund Olesen authored
The fix is obvious and the only test case I have is horrible, so I am not including it. The problem shows up when self-hosting clang on i386 with -new-coalescer enabled. llvm-svn: 164793
-
Akira Hatanaka authored
llvm-svn: 164787
-
Akira Hatanaka authored
llvm-svn: 164786
-
Benjamin Kramer authored
If the width is very large it gets truncated from uint64_t to uint32_t when passed to TD->fitsInLegalInteger. The truncated value can fit in a register. This manifested in massive memory usage or crashes (PR13946). llvm-svn: 164784
-
Micah Villmow authored
llvm-svn: 164782
-