- Jun 27, 2013
-
-
Eli Friedman authored
Armed with a much better understanding of what TemplateSpecializationTypeLoc::initializeArgLocs actually does, I now understand that it's fine to just use an empty TemplateArgumentLocInfo for Integral, Declaration, and NullPtr TemplateArguments. Fixes PR14281. (The testcases are actually derived from libcxx_test in deduction-crash.cpp because the original testcase was impossible to reduce.) llvm-svn: 185038
-
Michael Gottesman authored
In InstCombine{AddSub,MulDivRem} convert APFloat.isFiniteNonZero() && !APFloat.isDenormal => APFloat.isNormal. llvm-svn: 185037
-
Michael Gottesman authored
Currently inside APFloat fcNormal still implies the old definition of Normal (i.e. isFiniteNonZero) instead of the proper IEEE-754R definition that the external method isNormal() uses. This patch prepares for the internal switch inside APFloat by converting all references that check if a category is fcNormal directly with an indirect call via isFiniteNonZero(). llvm-svn: 185036
-
Richard Smith authored
side-effect is not sequenced before its value computation. Also fix a mishandling of ?: expressions where the condition is constant that was exposed by the tests for this. llvm-svn: 185035
-
-
Eric Christopher authored
This reverts commit r185020 llvm-svn: 185032
-
Reid Kleckner authored
Option groups don't have prefixes. Option dumping is basically dead code unless there is something wrong with the option table, so this isn't an important crasher. llvm-svn: 185031
-
Stephen Lin authored
llvm-svn: 185030
-
David Majnemer authored
llvm-svn: 185029
-
Greg Clayton authored
llvm-svn: 185028
-
Greg Clayton authored
Fixed the process_events.py example to be able to specify the platform and also use the debugger's listener. llvm-svn: 185027
-
Chad Rosier authored
function to lookup the proper tablegen'ed register enumeration. Previously, it was using the encoded value directly. llvm-svn: 185026
-
Fariborz Jahanian authored
private ivars in class extensions and class @implementation. // rdar://14278560 llvm-svn: 185025
-
- Jun 26, 2013
-
-
Stephen Lin authored
ARM: Proactively ensure that the LowerCallResult hack for 'this'-returns is not used for incompatible calling conventions. (Currently, ARM 'this'-returns are handled in the standard calling convention case by treating R0 as preserved and doing some extra magic in LowerCallResult; this may not apply to calling conventions added in the future so this patch provides and documents an interface for indicating such) llvm-svn: 185024
-
Joerg Sonnenberger authored
Fixes -Werror bootstrap. llvm-svn: 185023
-
Aaron Ballman authored
Patch thanks to Robert Wilhelm. llvm-svn: 185022
-
David Majnemer authored
llvm-svn: 185021
-
Manman Ren authored
No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. llvm-svn: 185020
-
Rafael Espindola authored
They are mostly duplicated and got out of sync during the PathV1 removal. We should factor the code somewhere, but for now a FIXME will do. llvm-svn: 185019
-
Eli Friedman authored
The old implementation of ms_struct in RecordLayoutBuilder was a complete mess: it depended on complicated conditionals which didn't really reflect the underlying logic, and placed a burden on users of the resulting RecordLayout. This commit rips out almost all of the old code, and replaces it with simple checks in RecordLayoutBuilder::LayoutBitField. This commit also fixes <rdar://problem/14252115>, a bug where class inheritance would cause us to lay out bitfields incorrectly. llvm-svn: 185018
-
rdar://problem/14262854Han Ming Ong authored
Match up with top’s implementation on recent Cab as API has changed a bit. Tested the same binary running on Zin as well. Tested ARM binary on iOS as well. llvm-svn: 185017
-
Stephen Lin authored
llvm-svn: 185016
-
Rafael Espindola authored
llvm-svn: 185015
-
Aaron Ballman authored
llvm-svn: 185014
-
Aaron Ballman authored
llvm-svn: 185013
-
Akira Hatanaka authored
llvm-svn: 185012
-
Akira Hatanaka authored
subs. llvm-svn: 185011
-
Matt Kopec authored
llvm-svn: 185010
-
Tom Stellard authored
The assembly should be generic, but at least currently R600 only supports 32-bit stores of [u]int1/4, and I believe that only global is well-supported. R600 lowers the 8/16 component stores to multiple 4-component stores. The unoptimized C versions of the other stuff is left in place. Patch by: Aaron Watry llvm-svn: 185009
-
Tom Stellard authored
The assembly should be generic, but at least currently R600 only supports 32-bit loads of int1/4, and I believe that only global is well-supported. R600 lowers the 8/16 component vectors to multiple 4-bit loads. The unoptimized C versions of the other stuff is left in place. Patch by: Aaron Watry llvm-svn: 185008
-
Tom Stellard authored
Assumes that the target supports byte-addressable stores. Completely unoptimized. Patch by: Aaron Watry llvm-svn: 185007
-
Tom Stellard authored
Should work for all targets and data types. Completely unoptimized. Patch by: Aaron Watry llvm-svn: 185006
-
Tom Stellard authored
llvm-svn: 185005
-
Tom Stellard authored
Squashed commit of the following: commit a0df0a0e86c55c1bdc0b9c0f5a739e5adef4b056 Author: Aaron Watry <awatry@gmail.com> Date: Mon Apr 15 18:42:04 2013 -0500 libclc: Rename clz.ll to clz_if.ll to ensure it gets built. configure.py treats files that have the same name with the .cl and .ll extensions as overriding eachother. E.g. If you have clz.cl and clz.ll both specified to be built in the same SOURCES file, only the first file listed will actually be built. Since the contents of clz.ll were an interface that is implemented in clz_impl.ll, rename clz.ll to clz_if.ll to make sure that the interface is built. commit 931b62bed05c58f737de625bd415af09571a6a5a Author: Aaron Watry <awatry@gmail.com> Date: Sat Apr 13 12:32:54 2013 -0500 libclc: llvm assembly implementation of clz Untested... currently crashes in the same manner as add_sat. commit 6ef0b7b0b6d2e5584086b4b9a9243743b2e0538f Author: Aaron Watry <awatry@gmail.com> Date: Sat Mar 23 12:35:27 2013 -0500 libclc: Add stub clz builtin For scalar int/uint, attempt to use the clz llvm builtin.. for all others return 0 until an actual implementation is finished. Patch by: Aaron Watry llvm-svn: 185004
-
Tom Stellard authored
For any GENTYPE that isn't scalar, we need to implement a mixed vector/scalar version of clamp/max. This depends on the min() patches I sent to the list a few minutes ago. Patch by: Aaron Watry llvm-svn: 185003
-
Tom Stellard authored
Checks if the current GENTYPE is scalar, and if not, then defines a separate implementation of the function which casts the second arg to vector before proceeding. Patch by: Aaron Watry llvm-svn: 185002
-
Tom Stellard authored
This doesn't handle the integer cases for min(vector, scalar). Patch by: Aaron Watry llvm-svn: 185001
-
Tom Stellard authored
configure.py allows overloading *.cl with *.ll, but will only ever build the first file listed in SOURCES of ${file}.cl and ${file}.ll add_sat, sub_sat, (and the soon to be submitted clz) all define interfaces in ${function_name}.ll which are implemented in ${function_name}_impl.ll. Renaming the interface files is enough to get them to build again, fixing CL usage of these functions. Tested on clover/r600g. Patch by: Aaron Watry llvm-svn: 185000
-
Tom Stellard authored
Patch by: Aaron Watry llvm-svn: 184999
-
Tom Stellard authored
Patch by: Aaron Watry llvm-svn: 184998
-