- Jun 20, 2013
-
-
Nadav Rotem authored
We collect gather sequences when we vectorize basic blocks. Gather sequences are excellent hints for vectorization of other basic blocks. llvm-svn: 184444
-
David Blaikie authored
llvm-svn: 184443
-
David Blaikie authored
Fix CodeGenCXX/debug-info.cpp to target a known ABI (x86-64-linux) so as not to be confused by strange (& currently broken) Windows ABI llvm-svn: 184442
-
Ulrich Weigand authored
[PowerPC] Remove unused parameter The isDarwin parameter to the llvm::LowerPPCMachineInstrToMCInst routine is now no longer needed; remove it. llvm-svn: 184441
-
Nadav Rotem authored
This change makes it easier to filter debug messages. llvm-svn: 184440
-
Ulrich Weigand authored
[PowerPC] Add missing build dependency This (hopefully) fixes build failures resulting from r184436; the PowerPC asm parser now depends on PowerPC target expresssions. llvm-svn: 184439
-
Reid Kleckner authored
On Windows, it looks like FlagIndirectVariable is being set in Flags for DIBuilder::createLocalVariable(), giving us an i32 of 8192 instead of 0, as on Linux. Fixes breakage from r184367. llvm-svn: 184438
-
Ulrich Weigand authored
[MC] Support @ variants with directional labels The assembler parser common code supports recognizing symbol variants using the @ modifer. On PowerPC, it should also be possible to use (some of) those modifiers with directional labels, like "1f@l". This patch adds support for accepting symbol variants on directional labels as well. llvm-svn: 184437
-
Ulrich Weigand authored
[PowerPC] Optimize @ha/@l constructs This patch adds support for having the assembler optimize fixups to constructs like "symbol@ha" or "symbol@l" if "symbol" can be resolved at assembler time. This optimization is already present in the PPCMCExpr.cpp code for handling PPC_HA16/PPC_LO16 target expressions. However, those target expression were used only on Darwin targets. This patch changes target expression code so that they are usable also with the GNU assembler (using the @ha / @l syntax instead of the ha16() / lo16() syntax), and changes the MCInst lowering code to generate those target expressions where appropriate. It also changes the asm parser to generate HA16/LO16 target expressions when parsing assembler source that uses the @ha / @l modifiers. The effect is that now the above- mentioned optimization automatically becomes available for those situations too. llvm-svn: 184436
-
Ulrich Weigand authored
[PowerPC] Support compare mnemonics with implied CR0 Just like for branch mnemonics (where support was recently added), the assembler is supposed to support extended mnemonics for the compare instructions where no condition register is specified explicitly (and CR0 is assumed implicitly). This patch adds support for those extended compare mnemonics. Index: llvm-head/test/MC/PowerPC/ppc64-encoding-ext.s =================================================================== --- llvm-head.orig/test/MC/PowerPC/ppc64-encoding-ext.s +++ llvm-head/test/MC/PowerPC/ppc64-encoding-ext.s @@ -449,21 +449,37 @@ # CHECK: cmpdi 2, 3, 128 # encoding: [0x2d,0x23,0x00,0x80] cmpdi 2, 3, 128 +# CHECK: cmpdi 0, 3, 128 # encoding: [0x2c,0x23,0x00,0x80] + cmpdi 3, 128 # CHECK: cmpd 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x00] cmpd 2, 3, 4 +# CHECK: cmpd 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x00] + cmpd 3, 4 # CHECK: cmpldi 2, 3, 128 # encoding: [0x29,0x23,0x00,0x80] cmpldi 2, 3, 128 +# CHECK: cmpldi 0, 3, 128 # encoding: [0x28,0x23,0x00,0x80] + cmpldi 3, 128 # CHECK: cmpld 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x40] cmpld 2, 3, 4 +# CHECK: cmpld 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x40] + cmpld 3, 4 # CHECK: cmpwi 2, 3, 128 # encoding: [0x2d,0x03,0x00,0x80] cmpwi 2, 3, 128 +# CHECK: cmpwi 0, 3, 128 # encoding: [0x2c,0x03,0x00,0x80] + cmpwi 3, 128 # CHECK: cmpw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x00] cmpw 2, 3, 4 +# CHECK: cmpw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x00] + cmpw 3, 4 # CHECK: cmplwi 2, 3, 128 # encoding: [0x29,0x03,0x00,0x80] cmplwi 2, 3, 128 +# CHECK: cmplwi 0, 3, 128 # encoding: [0x28,0x03,0x00,0x80] + cmplwi 3, 128 # CHECK: cmplw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x40] cmplw 2, 3, 4 +# CHECK: cmplw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x40] + cmplw 3, 4 # FIXME: Trap mnemonics Index: llvm-head/lib/Target/PowerPC/PPCInstrInfo.td =================================================================== --- llvm-head.orig/lib/Target/PowerPC/PPCInstrInfo.td +++ llvm-head/lib/Target/PowerPC/PPCInstrInfo.td @@ -2201,3 +2201,12 @@ defm : BranchExtendedMnemonic<"ne", 68>; defm : BranchExtendedMnemonic<"nu", 100>; defm : BranchExtendedMnemonic<"ns", 100>; +def : InstAlias<"cmpwi $rA, $imm", (CMPWI CR0, gprc:$rA, s16imm:$imm)>; +def : InstAlias<"cmpw $rA, $rB", (CMPW CR0, gprc:$rA, gprc:$rB)>; +def : InstAlias<"cmplwi $rA, $imm", (CMPLWI CR0, gprc:$rA, u16imm:$imm)>; +def : InstAlias<"cmplw $rA, $rB", (CMPLW CR0, gprc:$rA, gprc:$rB)>; +def : InstAlias<"cmpdi $rA, $imm", (CMPDI CR0, g8rc:$rA, s16imm:$imm)>; +def : InstAlias<"cmpd $rA, $rB", (CMPD CR0, g8rc:$rA, g8rc:$rB)>; +def : InstAlias<"cmpldi $rA, $imm", (CMPLDI CR0, g8rc:$rA, u16imm:$imm)>; +def : InstAlias<"cmpld $rA, $rB", (CMPLD CR0, g8rc:$rA, g8rc:$rB)>; + llvm-svn: 184435
-
Evgeniy Stepanov authored
PR16389 llvm-svn: 184434
-
Rafael Espindola authored
llvm-svn: 184433
-
Rafael Espindola authored
llvm-svn: 184432
-
Rafael Espindola authored
llvm-svn: 184431
-
Dmitry Vyukov authored
llvm-svn: 184430
-
Samuel Benzaquen authored
- Added conversion routines and checks in Matcher<T> that take a DynTypedMatcher. - Added type information on the error messages for the marshallers. - Allows future work on Polymorphic/overloaded matchers. We should be able to disambiguate at runtime and choose the appropriate overload. llvm-svn: 184429
-
Evgeniy Stepanov authored
llvm-svn: 184428
-
Manuel Klimek authored
Most of the tests contributed by Edwin Vane. llvm-svn: 184427
-
Stefanus Du Toit authored
llvm-svn: 184426
-
Alexander Kornienko authored
Summary: Fixes a problem where \t,\v or \f could lead to a crash when placed as a first character in a line comment. The cause is that rtrim and ltrim handle these characters, but our code didn't, so some invariants could be broken. Reviewers: klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1013 llvm-svn: 184425
-
Rafael Espindola authored
Should fix the bots that are seeing a corrupted file from a previous run. llvm-svn: 184424
-
Rafael Espindola authored
Original message: Don't include directory names in archives. This matches the behavior of both gnu and os x versions of ar. llvm-svn: 184423
-
Sergey Matveev authored
llvm-svn: 184422
-
Rafael Espindola authored
This reverts commit 184420. Investigating the bot failures. llvm-svn: 184421
-
Rafael Espindola authored
This matches the behavior of both gnu and os x versions of ar. llvm-svn: 184420
-
Manuel Klimek authored
llvm-svn: 184419
-
Rafael Espindola authored
llvm-svn: 184418
-
Enea Zaffanella authored
llvm-svn: 184417
-
Rafael Espindola authored
llvm-svn: 184416
-
Rafael Espindola authored
llvm-svn: 184415
-
Rafael Espindola authored
llvm-svn: 184413
-
Rafael Espindola authored
llvm-svn: 184412
-
Vladimir Medic authored
llvm-svn: 184411
-
Evgeniy Stepanov authored
A workaroudn for PR16386. MSan's operator new aften has side-effects that are miscompiled without this flag. llvm-svn: 184410
-
Evgeniy Stepanov authored
We have way too many different build systems. llvm-svn: 184409
-
Chandler Carruth authored
-gcc-toolchain foo -> --gcc-toolchain=foo -target foo -> --target=foo I've added legacy aliases for the original spellings. I've updated the canonical tests to check both spellings, and switched all of the -gcc-toolchain usages elsewhere in the test suite to use the new one. I've updated some of the usages of -target to the new syntax, but will finish that in a separate entirely mechanical change once I'm sure this won't get rolled back for some reason (It touches a *huge* number of RUN lines in the test suite unsurprisingly). A nice result is that the three most common flags I end up using when doing cross compiles are all now consistent: --target=, --sysroot=, and --gcc-toolchain=. llvm-svn: 184408
-
Evgeniy Stepanov authored
llvm-svn: 184407
-
Evgeniy Stepanov authored
llvm-svn: 184406
-
Evgeniy Stepanov authored
llvm-svn: 184405
-
Alexey Samsonov authored
[ASan] Clear allocation magic value before recycling the chunk. This led to spurious crashes in LSan when it walked through reused chunks. Don't know how to create not-brittle test case for this. llvm-svn: 184404
-