summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Macro debug info support in LLVM IRAmjad Aboud2015-12-1020-40/+509
| | | | | | | | Introduced DIMacro and DIMacroFile debug info metadata in the LLVM IR to support macros. Differential Revision: http://reviews.llvm.org/D14687 llvm-svn: 255245
* [NFC] Improve a comment from my previous commit (r255221)Faisal Vali2015-12-101-1/+1
| | | | llvm-svn: 255244
* [clang-tidy] Sort includes case-sensitively.Alexander Kornienko2015-12-101-4/+1
| | | | | | | | | The motivation is: 1. consistency with clang-format, vim :sort etc. 2. we don't want the tools to depend on the current locale to do the include sorting llvm-svn: 255243
* [asan] Use atomic_uintptr_t instead of atomic_uint64_t in SuppressErrorReport.Yury Gribov2015-12-101-2/+2
| | | | | | | | | Some targets (e.g. Mips) don't have 64-bit atomics, so using atomic_uint64_t leads to build failures. Use atomic_uintptr_t to avoid such errors. Patch by Max Ostapenko. llvm-svn: 255242
* [LLE] Use the PredicatedScalarEvolution interface to query SCEVs for dependencesSilviu Baranga2015-12-101-16/+15
| | | | | | | | | | | | | | | | | Summary: LAA uses the PredicatedScalarEvolution interface, so it can produce forward/backward dependences having SCEVs that are AddRecExprs only after being transformed by PredicatedScalarEvolution. Use PredicatedScalarEvolution to get the expected expressions. Reviewers: anemet Subscribers: llvm-commits, sanjoy Differential Revision: http://reviews.llvm.org/D15382 llvm-svn: 255241
* Switch to gold linker on android x86, x86_64, armTamas Berghammer2015-12-101-0/+7
| | | | | | | | | | | | These architectures already using the gold linker for the android framework and switching to gold gives us the opportunity to enable ICF. Safe ICF (identical code folding) reduces the size of an optimized and striped binary by ~5%. Differential revision: http://reviews.llvm.org/D15379 llvm-svn: 255240
* [RenderScript] Refactor condition deciding when to JIT RS runtimeEwan Crawford2015-12-101-9/+19
| | | | | | | Patch creates a member function that decides when to JIT all the details about an allocation. By checking for zero pointers we can avoid the situation where we store uninitialised data from previously inspecting the allocation during creation. llvm-svn: 255238
* Differential Revision: http://reviews.llvm.org/D15333Aidan Dodds2015-12-101-9/+7
| | | | llvm-svn: 255237
* [analyzer] Fix symbolic element index lifetime.Artem Dergachev2015-12-108-7/+189
| | | | | | | | | | | | SymbolReaper was destroying the symbol too early when it was referenced only from an index SVal of a live ElementRegion. In order to test certain aspects of this patch, extend the debug.ExprInspection checker to allow testing SymbolReaper in a direct manner. Differential Revision: http://reviews.llvm.org/D12726 llvm-svn: 255236
* [ELF] - Implemented --print-gc-sections command line argument.George Rimar2015-12-105-1/+41
| | | | | | | | List all sections removed by garbage collection. This option is only effective if garbage collection has been enabled via the `--gc-sections' option. Differential revision: http://reviews.llvm.org/D15327 llvm-svn: 255235
* [PostRA scheduling] Allow a target to do scheduling when it wants post RA.Jonas Paulsson2015-12-104-5/+29
| | | | | | | | | | | | | | SystemZ needs to do its scheduling after branch relaxation, which can only happen after block placement, and therefore the standard PostRAScheduler point in the pass sequence is too early. TargetMachine::targetSchedulesPostRAScheduling() is a new method that signals on returning true that target will insert the final scheduling pass on its own. Reviewed by Hal Finkel llvm-svn: 255234
* [ELF] - Resolve R_386_PLT32 statically in some cases.George Rimar2015-12-102-35/+51
| | | | | | | | | If R_386_PLT32 relocation is applied against symbol that can not be preempted then it can be resolved statically. Patch implements it for x86 target. Differential revision: http://reviews.llvm.org/D15376 llvm-svn: 255233
* [Sema] Use UnaryOperatorKind and BinaryOperatorKind in parameter lists ↵Craig Topper2015-12-103-31/+27
| | | | | | instead of just unsigned. Removes a few explicit casts. NFC llvm-svn: 255232
* Add parentheses to suppress a -Wparentheses warning.Craig Topper2015-12-101-2/+2
| | | | llvm-svn: 255231
* [asan] Move halt_on_error_suppress_equal_pcs.cc to Posix directory.Yury Gribov2015-12-101-0/+0
| | | | | | Patch by Max Ostapenko. llvm-svn: 255230
* [OPENMP] Fixed processing of predetermined data-sharing attributesAlexey Bataev2015-12-1022-78/+67
| | | | | | Predetermined data-shared attributes for local variables are now considered as implicit. Also, patch prohibits changin of DSA for static memebers of classes. llvm-svn: 255229
* [asan] Suppress duplicated errors in ASan recovery mode.Yury Gribov2015-12-105-2/+83
| | | | | | | | Patch by Max Ostapenko. Differential Revision: http://reviews.llvm.org/D15080 llvm-svn: 255228
* Revert r255137.Akira Hatanaka2015-12-102-59/+8
| | | | | | This commit broke apple's internal bot. llvm-svn: 255227
* Add arg_begin() and arg_end() to CallInst and InvokeInst; NFCISanjoy Das2015-12-106-42/+58
| | | | | | | | | | - This simplifies the CallSite class, arg_begin / arg_end are now simple wrapper getters. - In several places, we were creating CallSite instances solely to call arg_begin and arg_end. With this change, that's no longer required. llvm-svn: 255226
* libclang: correct inverted logicSaleem Abdulrasool2015-12-102-8/+7
| | | | | | | The complete dtor is only emitted when there is a virtual destructor. The test itself was incorrect, so the issue in the code was not noticed. llvm-svn: 255225
* [X86] Fix a couple cases were bitwise and logical operations were being ↵Craig Topper2015-12-102-2/+2
| | | | | | mixed. NFC llvm-svn: 255224
* [OPENMP] Make -fopenmp to turn on OpenMP support by default, clang partAlexey Bataev2015-12-102-3/+3
| | | | | | | Patch turns on OpenMP support in clang by default after fixing OpenMP buildbots. Differential Revision: http://reviews.llvm.org/D13803 llvm-svn: 255223
* [OPENMP] Make -fopenmp to turn on OpenMP support by default.Alexey Bataev2015-12-105-53/+25
| | | | | | | Patch turns on OpenMP support in clang by default after fixing OpenMP buildbots. Differential Revision: http://reviews.llvm.org/D13802 llvm-svn: 255222
* Fix PR24694 (CWG1591): Deducing array bound and element type from ↵Faisal Vali2015-12-102-13/+103
| | | | | | | | | | | | | | | initializer list https://llvm.org/bugs/show_bug.cgi?id=24694 http://wg21.link/cwg1591 Teach DeduceFromInitializerList in SemaTemplateDeduction.cpp to deduce against array (constant and dependent sized) parameters (really, reference to arrays since they don't decay to pointers), by checking if the template parameter is either one of those kinds of arrays, and if so, deducing each initializer list element against the element type, and then deducing the array bound if needed. In brief, this patch enables the following code: template<class T, int N> int *f(T (&&)[N]); int *ip = f({1, 2, 3}); llvm-svn: 255221
* [WebAssembly] Implement mixed-type ISD::FCOPYSIGN.Dan Gohman2015-12-103-1/+35
| | | | | | | | ISD::FCOPYSIGN permits its operands to have differing types, and DAGCombiner uses this. Add some def : Pat rules to expand this out into an explicit conversion and a normal copysign operation. llvm-svn: 255220
* [WebAssembly] Implement fma.Dan Gohman2015-12-103-1/+19
| | | | | | It is lowered to a libcall for now, but this is expected to change in the future. llvm-svn: 255219
* [MSVC] Fix for http://llvm.org/PR25636: indexed accessor property not ↵Alexey Bataev2015-12-104-12/+42
| | | | | | | | | supported correctly. All problems described in http://llvm.org/PR25636 are implemented except for return value of the 'put' property. This patch fixes this problem with the indexed properties Differential Revision: http://reviews.llvm.org/D15174 llvm-svn: 255218
* AMDGPU/SI: Fix warning introduced by r255204Tom Stellard2015-12-101-2/+1
| | | | llvm-svn: 255205
* AMDGPU/SI: Emit constant arrays in the .text sectionTom Stellard2015-12-1016-90/+113
| | | | | | | | | | | | | | | Summary: This allows us to remove the END_OF_TEXT_LABEL hack we had been using and simplifies the fixups used to compute the address of constant arrays. Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15257 llvm-svn: 255204
* AMDGPU/SI: Add support for sgpr and vgpr inline assembly constraintsTom Stellard2015-12-103-6/+71
| | | | | | | | | | | | Summary: The 's' constraint represents sgprs and the 'v' constraint represents vgprs. Reviewers: arsenm, echristo Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15342 llvm-svn: 255203
* [WebAssembly] Fix legalization of f32->f64 EXTLOAD.Dan Gohman2015-12-102-1/+21
| | | | llvm-svn: 255202
* Mark MS inline ASM 'nodplicate' it it has labels (PR23715)Hans Wennborg2015-12-102-2/+14
| | | | | | | | Duplicating it can lead to labels being defined twice. Differential revision: http://reviews.llvm.org/D15399 llvm-svn: 255201
* Fix a typo in the clang user manual.Yunzhong Gao2015-12-101-2/+2
| | | | | | -fmax-unknown-pointer-align => -fmax-type-align llvm-svn: 255200
* There were problems if a relative path is used for an include path, the path ↵John Thompson2015-12-101-2/+2
| | | | | | will be normalized to ./xxx. I don't know how to test this in a way that will work in a separated source/output environment, but it seems reasonable to assume that -I options won't be for provate directories. llvm-svn: 255199
* PR25416: Improve performance of processing inline assembly consisting of manyRichard Smith2015-12-103-17/+50
| | | | | | | | | | implicitly-concatenated string literals. When looking for the start of a token in the inline assembly, start from the end of the previous token, not the start of the entire string. Patch by Yunlian Jiang! llvm-svn: 255198
* [WebAssembly] Update known test failuresDerek Schuff2015-12-101-10/+1
| | | | | | We can now select sign_extend_inreg llvm-svn: 255197
* [Lit Test] Updated 20 Lit tests to be C++11 compatible.Charles Li2015-12-1020-66/+291
| | | | | | | | This is the 5th Lit test patch. Expanded expected diagnostics to vary by C++ dialect. Expanded RUN line to: default, C++98/03 and C++11. llvm-svn: 255196
* RegisterPressure: Factor out liveness dead-def detection logic; NFCIMatthias Braun2015-12-102-42/+43
| | | | | | | | Detecting additional dead-defs without a dead flag that are only visible through liveness information should be part of the register operand collection not intertwined with the register pressure update logic. llvm-svn: 255192
* [WebAssembly] Also legalize sign_extend_inreg of i32->i64.Dan Gohman2015-12-102-1/+10
| | | | llvm-svn: 255191
* [WebAssembly] Update test failure expectationsDerek Schuff2015-12-101-28/+10
| | | | llvm-svn: 255190
* Replace cmake check for printf with a check for fopen.Evgeniy Stepanov2015-12-101-1/+1
| | | | | | | Printf is a builtin, and the check fails with -Werror because of a clang warning about an incompatible redeclaration. llvm-svn: 255189
* Replace cmake check for printf with a check for fopen.Evgeniy Stepanov2015-12-101-1/+1
| | | | | | | Printf is a builtin, and the check fails with -Werror because of a clang warning about an incompatible redeclaration. llvm-svn: 255188
* Replace cmake check for printf with a check for fopen.Evgeniy Stepanov2015-12-101-1/+1
| | | | | | | Printf is a builtin, and the check fails with -Werror because of a clang warning about an incompatible redeclaration. llvm-svn: 255187
* Replace cmake check for printf with a check for fopen.Evgeniy Stepanov2015-12-101-1/+1
| | | | | | | Printf is a builtin, and the check fails with -Werror because of a clang warning about an incompatible redeclaration. llvm-svn: 255186
* Remove redundant _LIBCPP_ALWAYS_INLINE attribute from __convert_to_integral ↵Eric Fiselier2015-12-101-9/+9
| | | | | | overloads llvm-svn: 255185
* Revert "[CMake] Provide options for toggling on and off various runtime ↵Chris Bieneman2015-12-1010-98/+113
| | | | | | | | libraries." This reverts r255170. This change caused a bunch of bot failures and needs to be revised. llvm-svn: 255184
* [CMake] [Darwin] Log architecture test failures to CMakeError.logChris Bieneman2015-12-101-0/+4
| | | | | | This makes debugging configuration issues way easier. llvm-svn: 255183
* PeepholeOptimizer: Ignore dead implicit defsDan Gohman2015-12-102-0/+34
| | | | | | | | Target-specific instructions may have uninteresting physreg clobbers, for target-specific reasons. The peephole pass doesn't need to concern itself with such defs, as long as they're implicit and marked as dead. llvm-svn: 255182
* [WebAssembly] Fix legalization of shift operators with illegal types.Dan Gohman2015-12-102-1/+31
| | | | llvm-svn: 255181
* [WebAssembly] Fix copy+pastos.Dan Gohman2015-12-101-12/+12
| | | | llvm-svn: 255180
OpenPOWER on IntegriCloud