- Jul 16, 2013
-
-
Rafael Espindola authored
This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). llvm-svn: 186447
-
Juergen Ributzka authored
Use PMIN/PMAX for UGE/ULE vector comparions to reduce the number of required instructions. This trick also works for UGT/ULT, but there is no advantage in doing so. It wouldn't reduce the number of instructions and it would actually reduce performance. Reviewer: Ben radar:5972691 llvm-svn: 186432
-
Juergen Ributzka authored
llvm-svn: 186429
-
Richard Osborne authored
Previously an asm operand with no operand modifier would give the error "invalid operand in inline asm". llvm-svn: 186407
-
Tim Northover authored
We'd forgotten to provide string representations for the special ARMISD atomic nodes; this adds them in. No effect on CodeGen, just makes the output of "-view-whatever-dags" slightly more readable. llvm-svn: 186406
-
Richard Sandiford authored
llvm-svn: 186405
-
Vladimir Medic authored
llvm-svn: 186403
-
Richard Sandiford authored
CodeGen support will come later. llvm-svn: 186401
-
Richard Sandiford authored
Another patch in the series to make more use of R.SBG. This one extends r186072 and r186073 to handle cases where the AND is inside the shift. llvm-svn: 186399
-
Vladimir Medic authored
This patch represents Mips utilization of r186388 code that alows asm matcher to emit mnemonics contain '.' characters. This makes asm parser code simpler and more efficient. llvm-svn: 186397
-
NAKAMURA Takumi authored
g++ (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10) llvm-svn: 186396
-
Tim Northover authored
Intrinsics already existed for the 64-bit variants, so these support operations of size at most 32-bits. llvm-svn: 186392
-
Renato Golin authored
This patch enables calls to __aeabi_idivmod when in EABI mode, by using the remainder value returned on registers (R1), enabled by the ARM triple "none-eabi". Note that Darwin and GNUEABI triples will continue lowering on GNU style, that is, using the stack for the remainder. Still need to add SREM/UREM support fix for 64-bit lowering. llvm-svn: 186390
-
Craig Topper authored
llvm-svn: 186371
-
Hal Finkel authored
This change mirrors the changes that were made to the X86 and ARM targets to support subtarget feature changing. As indicated in r182899, the mechanism is still undergoing revision, and so as with the X86 and ARM targets, there is no test case yet (there is no effective functionality change). llvm-svn: 186357
-
- Jul 15, 2013
-
-
Hal Finkel authored
PPCInstrInfo::insertSelect and PPCInstrInfo::canInsertSelect were computing the common subclass of the true and false inputs, and then selecting either the 32-bit or the 64-bit isel variant based on the result of calling PPC::GPRCRegClass.hasSubClassEq(RC) and PPC::G8RCRegClass.hasSubClassEq(RC) (where RC is the common subclass). Unfortunately, this is not quite right: if we have something like this: %vreg8<def> = SELECT_CC_I8 %vreg4<kill>, %vreg7<kill>, %vreg6<kill>, 76; G8RC_and_G8RC_NOX0:%vreg8 CRRC:%vreg4 G8RC_NOX0:%vreg7,%vreg6 then the common subclass of G8RC_and_G8RC_NOX0 and G8RC_NOX0 is G8RC_NOX0, and G8RC_NOX0 is not a subclass of G8RC (because it also contains the ZERO8 pseudo-register). As a result, we also need to check the common subclass against GPRC_NOR0 and G8RC_NOX0 explicitly. This had not been a problem for clients of insertSelect that called canInsertSelect first (because it had a compensating mistake), but insertSelect is also used by the PPC pseudo-instruction expander, and this error was causing a problem in that context. This problem was found by csmith. llvm-svn: 186343
-
Tom Stellard authored
https://bugs.freedesktop.org/show_bug.cgi?id=65873 llvm-svn: 186339
-
Job Noorman authored
llvm-svn: 186321
-
Craig Topper authored
llvm-svn: 186311
-
Craig Topper authored
llvm-svn: 186309
-
Craig Topper authored
llvm-svn: 186308
-
Craig Topper authored
llvm-svn: 186307
-
Craig Topper authored
llvm-svn: 186301
-
- Jul 14, 2013
-
-
Anton Korobeynikov authored
Patch by Job! llvm-svn: 186291
-
Anton Korobeynikov authored
llvm-svn: 186283
-
Craig Topper authored
llvm-svn: 186274
-
- Jul 13, 2013
-
-
Joerg Sonnenberger authored
between ELF (Linux, FreeBSD, NetBSD) and OSX as platform for the assembler dialect. llvm-svn: 186252
-
Akira Hatanaka authored
llvm-svn: 186227
-
JF Bastien authored
ARM paired GPR COPY was being lowered to two MOVr without CC. This patch puts the CC back. My test is a reduction of the case where I encountered the issue, 64-bit atomics use paired GPRs. The issue only occurs with selectionDAG, FastISel doesn't encounter it so I didn't bother calling it. llvm-svn: 186226
-
Akira Hatanaka authored
llvm-svn: 186222
-
Eric Christopher authored
llvm-svn: 186212
-
- Jul 12, 2013
-
-
Benjamin Kramer authored
llvm-svn: 186196
-
Arnold Schwaighofer authored
radar://14351991 llvm-svn: 186189
-
Arnold Schwaighofer authored
Fixes a 35% degradation compared to unvectorized code in MiBench/automotive-susan and an equally serious regression on a private image processing benchmark. radar://14351991 llvm-svn: 186188
-
Arnold Schwaighofer authored
Address calculation for gather/scather in vectorized code can incur a significant cost making vectorization unbeneficial. Add infrastructure to add cost. Tests and cost model for targets will be in follow-up commits. radar://14351991 llvm-svn: 186187
-
Tom Stellard authored
Patch by: Niels Ole Salscheider Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 186182
-
Tom Stellard authored
Patch by: Niels Ole Salscheider Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 186181
-
Tom Stellard authored
Patch by: Niels Ole Salscheider Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 186180
-
Tom Stellard authored
Patch by: Niels Ole Salscheider Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 186179
-
Tom Stellard authored
Patch by: Niels Ole Salscheider Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 186178
-