- Feb 21, 2013
-
-
Jakob Stoklund Olesen authored
This fixes some problems with too conservative checking where we were marking all aliases of a register as used, and then also checking all aliases when allocating a register. <rdar://problem/13249625> llvm-svn: 175782
-
Evan Cheng authored
llvm-svn: 175775
-
Bill Schmidt authored
llvm-svn: 175771
-
Paul Redmond authored
generated html. llvm-svn: 175769
-
Bill Schmidt authored
Large code model is identical to medium code model except that the addis/addi sequence for "local" accesses is never used. All accesses use the addis/ld sequence. The coding changes are straightforward; most of the patch is taken up with creating variants of the medium model tests for large model. llvm-svn: 175767
-
Lang Hames authored
llvm-svn: 175765
-
Eli Bendersky authored
exists solely to enable it to call itself for i8 with some registers. The proposed patch simplifies the function somewhat to make the High bit only meaningful for the i8 mode, which makes sense. No functional difference (getX86SubSuperRegister is not getting called from anywhere outside with i64 and High=true). llvm-svn: 175762
-
Benjamin Kramer authored
A legal BUILD_VECTOR goes in and gets constant folded into another legal BUILD_VECTOR so we don't lose any legality here. The problematic PPC optimization that made this check necessary was fixed recently. llvm-svn: 175759
-
Christian Konig authored
Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175758
-
Christian Konig authored
Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175757
-
Christian Konig authored
It actually fixes quite a bunch of piglit tests. This is a candidate for the mesa-stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175756
-
Christian Konig authored
Instead of using custom inserters, it's simpler and should make DAG folding easier. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175755
-
Christian Konig authored
v2: put implicit parameters in [] Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175754
-
Christian Konig authored
Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175753
-
Christian Konig authored
Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175752
-
Christian Konig authored
Order the classes and add asm operands. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175751
-
Christian Konig authored
Fixing asm operation names. v2: fix name of the e64 encoding, also add asm operands Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175750
-
Christian Konig authored
Fixing asm operation names. v2: use ZERO constant, also add asm operands Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175749
-
Christian Konig authored
Fixing asm operation names. v2: use ZERO constant, also add asm operands Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175748
-
Christian Konig authored
Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175747
-
Christian Konig authored
Those two files got mixed up. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 175746
-
Tom Stellard authored
Fixes for-loop.cl piglit test Patch By: Vincent Lejeune Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> NOTE: This is a candidate for the Mesa stable branch. llvm-svn: 175742
-
Bill Schmidt authored
llvm-svn: 175739
-
Michel Danzer authored
NOTE: This is a candidate for the Mesa stable branch. Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175733
-
Cameron Zwarich authored
llvm-svn: 175732
-
Cameron Zwarich authored
llvm-svn: 175731
-
David Blaikie authored
llvm-svn: 175730
-
David Blaikie authored
Code review feedback for r175580 by Jordan Rose. llvm-svn: 175729
-
Cameron Zwarich authored
This brings the number of remaining failures in 'make check' without LiveVariables down to 39, with 1 unexpectedly passing test. llvm-svn: 175727
-
Cameron Zwarich authored
llvm-svn: 175726
-
David Blaikie authored
Post commit code review feedback to r175705 from Jordan Rose. llvm-svn: 175724
-
David Blaikie authored
Provides a general way to add 'explicit' for conversion operators (a no-op when compiling as C++98). llvm-svn: 175723
-
Cameron Zwarich authored
available. With this commit there are no longer any assertion or verifier failures when running 'make check' without LiveVariables. There are still 56 failing tests with codegen differences and 1 unexpectedly passing test. llvm-svn: 175719
-
Reed Kotler authored
there were inline br .+4 instructions. Soon everything can enjoy the full instruction scheduling experience. llvm-svn: 175718
-
NAKAMURA Takumi authored
llvm-svn: 175710
-
Michael J. Spencer authored
llvm-svn: 175709
-
Jack Carter authored
The constructs %hi() and %lo() represent the high and low 16 bits of the address. Because the 16 bit offset field of an LW instruction is interpreted as signed, if bit 15 of the low part is 1 then the low part will act as a negative and 1 needs to be added to the high part. Contributer: Vladimir Medic llvm-svn: 175707
-
Bill Schmidt authored
This patch implements the PPCDAGToDAGISel::PostprocessISelDAG virtual method to perform post-selection peephole optimizations on the DAG representation. One optimization is implemented here: folds to clean up complex addressing expressions for thread-local storage and medium code model. It will also be useful for large code model sequences when those are added later. I originally thought about doing this on the MI representation prior to register assignment, but it's difficult to do effective global dead code elimination at that point. DCE is trivial on the DAG representation. A typical example of a candidate code sequence in assembly: addis 3, 2, globalvar@toc@ha addi 3, 3, globalvar@toc@l lwz 5, 0(3) When the final instruction is a load or store with an immediate offset of zero, the offset from the add-immediate can replace the zero, provided the relocation information is carried along: addis 3, 2, globalvar@toc@ha lwz 5, globalvar@toc@l(3) Since the addi can in general have multiple uses, we need to only delete the instruction when the last use is removed. llvm-svn: 175697
-
David Blaikie authored
This implementation of NoneType/None does have some holes but I haven't found one that doesn't - open to improvement. llvm-svn: 175696
-
Bill Schmidt authored
llvm-svn: 175693
-