- Feb 17, 2013
-
-
Cameron Zwarich authored
llvm-svn: 175385
-
Cameron Zwarich authored
MachineBasicBlock::SplitCriticalEdge. Since this is an iterator rather than an instr_iterator, the isBundled() check only passes if getFirstTerminator() returned end() and the garbage memory happens to lean that way. Multiple successors can be present without any terminator instructions in the case of exception handling with a fallthrough. llvm-svn: 175383
-
Cameron Zwarich authored
terminators that actually have register uses when splitting critical edges. This commit also introduces a method repairIntervalsInRange() on LiveIntervals, which allows for repairing LiveIntervals in a small range after an arbitrary target hook modifies, inserts, and removes instructions. It's pretty limited right now, but I hope to extend it to support all of the things that are done by the convertToThreeAddress() target hooks. llvm-svn: 175382
-
Bill Wendling authored
(or (bool?A:B),(bool?C:D)) --> (bool?(or A,C):(or B,D)) By the time the OR is visited, both the SELECTs have been visited and not optimized and the OR itself hasn't been transformed so we do this transform in the hopes that the new ORs will be optimized. The transform is explicitly disabled for vector-selects until "codegen matures to handle them better". Patch by Muhammad Tauqir! llvm-svn: 175380
-
Reed Kotler authored
llvm-svn: 175379
-
- Feb 16, 2013
-
-
Dmitri Gribenko authored
llvm-svn: 175375
-
Benjamin Kramer authored
llvm-svn: 175373
-
Benjamin Kramer authored
llvm-svn: 175372
-
Renato Golin authored
llvm-svn: 175371
-
Benjamin Kramer authored
Avoids malloc and is a lot denser. We lose iteration over target independent attributes, but that's a strange interface anyways and didn't have any users outside of AttrBuilder. llvm-svn: 175370
-
Reed Kotler authored
as well as 16/32 bit variants to do and so I want this to look nice when I do it. I've been experimenting with this. No new test cases are needed. llvm-svn: 175369
-
Benjamin Kramer authored
This avoids unnecessary copies. No functionality change. llvm-svn: 175367
-
Benjamin Kramer authored
No functionality change. llvm-svn: 175366
-
Jakub Staszak authored
llvm-svn: 175365
-
Jakub Staszak authored
No functionality change. llvm-svn: 175364
-
NAKAMURA Takumi authored
llvm-svn: 175363
-
Jakub Staszak authored
updateScheduledPressure method. llvm-svn: 175362
-
NAKAMURA Takumi authored
llvm-svn: 175361
-
Benjamin Kramer authored
GNU as rejects them and there are configure scripts in the wild that check if the assembler rejects ".align 3" to determine whether the alignment is in bytes or powers of two. llvm-svn: 175360
-
Jakub Staszak authored
llvm-svn: 175359
-
Jakub Staszak authored
llvm-svn: 175358
-
Jakub Staszak authored
Also fix one test by changing "vpermilps" to "vpshufd". llvm-svn: 175357
-
Christian Konig authored
This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175356
-
Christian Konig authored
It's completely unnecessary and can be replace with proper SReg_64 handling instead. This actually fixes a piglit test on SI. v2: use correct register class in addRegisterClass, set special classes as not allocatable v3: revert setting special classes as not allocateable This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175355
-
Christian Konig authored
Seems to be allot simpler, and also paves the way for further improvements. v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW, use VGPR0 in dummy EXP, avoid compiler warning, break after encoding the first literal. v3: correctly use V_ADD_F32_e64 This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175354
-
Christian Konig authored
Mark all the operands that can also have an immediate. v2: SOFFSET is also an SSrc_32 operand This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175353
-
Christian Konig authored
Previously it only worked because of coincident. v2: fix 64bit versions, use 0x80 (inline 0) instead of SGPR0 for the unused SRC2 This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175352
-
Christian Konig authored
This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175351
-
Christian Konig authored
This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175350
-
Christian Konig authored
Stop adding more instructions than necessary. This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175349
-
Christian Konig authored
Generate more than one loop if it seems to make sense. This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175348
-
Christian Konig authored
Using the new NearestCommonDominator class. This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175347
-
Christian Konig authored
Using the new NearestCommonDominator class. This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175346
-
Christian Konig authored
This is a candidate for the stable branch. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175345
-
Jakub Staszak authored
llvm-svn: 175344
-
Jakub Staszak authored
llvm-svn: 175343
-
Reed Kotler authored
consistent with how BuildMI works. No new tests needed. All should work the same as before. llvm-svn: 175342
-
Michael J. Spencer authored
llvm-svn: 175338
-
Bill Wendling authored
llvm-svn: 175336
-
Chad Rosier authored
If the frame pointer is omitted, and any stack changes occur in the inline assembly, e.g.: "pusha", then any C local variable or C argument references will be incorrect. I pass no judgement on anyone who would do such a thing. ;) rdar://13218191 llvm-svn: 175334
-