summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Delete more dead code.Rafael Espindola2016-06-219-382/+0
| | | | | | Found by gcc 6. llvm-svn: 273322
* Emit the DWARF tag for the RenderScript languagePirama Arumuga Nainar2016-06-212-0/+5
| | | | | | | | | | | | | | Summary: If the RenderScript LangOpt is set, either via '-x renderscript' or the '.rs' file extension, set the DWARF language tag to be that of RenderScript. Reviewers: rsmith Subscribers: cfe-commits, srhines Differential Revision: http://reviews.llvm.org/D21451 llvm-svn: 273321
* [CMake] NFC. An unset variable evaluates to false, so this else is unneededChris Bieneman2016-06-211-2/+0
| | | | | | This change is mostly to enable me to do some experimentation with building runtime libraries (See: D20992). It is harmless because unset variables evaluate to false in conditional expressions. llvm-svn: 273320
* Trying to fix a buffer overflow that broke buildbot ↵Eric Liu2016-06-211-1/+1
| | | | | | sanitizer-x86_64-linux-fast/builds/13946. llvm-svn: 273319
* AMDGPU: Remove gcc builtin names from workitem intrinsicsJan Vesely2016-06-211-26/+30
| | | | | | | | | | We'll need to emit these manually in clang to add range metadata Reviewers: arsenm Differential Revision: http://reviews.llvm.org/D20691 llvm-svn: 273318
* AMDGPU: Add implicitarg.ptr intrinsic.Jan Vesely2016-06-215-11/+41
| | | | | | | | Points to the start of implicit arguments (appended after explicit arguments) Differential Revision: http://reviews.llvm.org/D20297 llvm-svn: 273317
* [X86] Make arithmetic operations cost model test saner. NFC.Michael Kuperstein2016-06-211-83/+128
| | | | llvm-svn: 273316
* Fix build of ClangRenameTestsMiklos Vajna2016-06-211-1/+1
| | | | | | Adapt the test to the code change introduced in r273304. llvm-svn: 273314
* [NVPTX] Improve lowering of byval args of device functions.Artem Belevich2016-06-215-23/+105
| | | | | | | | | | | | | | | | | | | | | Avoid unnecessary spills of such vars to local space on SASS level and pointer space conversion. Instead, make a local copy with appropriate addrspacecasts and let LLVM optimize them away when possible. This allows loading value of the argument using [symbol+offset] instead of converting argument to general space pointer and using it for indexing (which also implicitly converts param space pointer to local space one on SASS level and triggers copying of argument into local space in the process). This reduces call overhead, uses less registers and reduces overall SASS size by 2-4%. Differential Review: http://reviews.llvm.org/D21421 llvm-svn: 273313
* Re-commit "[Temporary] Add an ExprWithCleanups for each C++ ↵Tim Shen2016-06-2123-63/+181
| | | | | | | | | | MaterializeTemporaryExpr." Since D21243 fixes relative clang-tidy tests. This reverts commit a71d9fbd41e99def9159af2b01ef6509394eaeed. llvm-svn: 273312
* [x86] AVX FP compare builtins should require AVX target feature (PR28112)Sanjay Patel2016-06-212-5/+36
| | | | | | | | | | | | | | | | | This is a fix for PR28112: https://llvm.org/bugs/show_bug.cgi?id=28112 The FP comparison intrinsics that take an immediate parameter (rather than specifying a comparison predicate in the function name) were added with AVX; these are macros in avxintrin.h. This patch makes clang behavior match gcc (error if a program tries to use these without -mavx) and matches the Intel documentation, eg: VCMPPS: m128 _mm_cmp_ps(m128 a, __m128 b, const int imm) 'V' means this is intended to only work with the AVX form of the instruction. Differential Revision: http://reviews.llvm.org/D21306 llvm-svn: 273311
* Fix clang-tidy patterns to adapt to newly added ExprWithCleanups nodes.Tim Shen2016-06-216-14/+20
| | | | | | | | | | | | Summary: This is a fix for the new ExprWithCleanups introduced by clang's temporary variable lifetime marks change. Reviewers: bkramer, sbenza, angelgarcia, alexth Subscribers: rsmith, cfe-commits Differential Revision: http://reviews.llvm.org/D21243 llvm-svn: 273310
* Refactor scope building in JumpDiagnostics for simplicity. This fixes aRichard Smith2016-06-211-132/+151
| | | | | | | | | | | | (currently theoretical) bug where recursive calls to BuildScopeInformation would do the wrong thing if the type of the statement is one of the kinds with special handling, but this is not currently observable because the relevant recursive calls happen to all be for CompoundStmts. (This becomes visible with the C++17 'constexpr if' feature, where we get a protected scope for the 'then' / 'else' cases of some 'if's, and don't necessarily have a corresponding compound statement.) llvm-svn: 273309
* Add back some dead code.Rafael Espindola2016-06-211-0/+14
| | | | | | | It was there just to avoid warnings. Add a LLVM_ATTRIBUTE_UNUSED attribute so that it doesn't produce warnings with gcc 6. llvm-svn: 273308
* Fix the use of lldb::eSymbolContextVariable.Greg Clayton2016-06-212-2/+3
| | | | | | | | | | In Address.cpp, we were asking for the lldb::eSymbolContextVariable to be resolved, yet we weren't using the variable. This code gets called when disassembling and can cause the manual creation of all global variables variables which can take minutes. Removing eSymbolContextVariable allows disassembly to not create these long pauses. In Module.cpp, if someone only specified the lldb::eSymbolContextVariable flag, we would not look into a module's debug info, now we will. <rdar://problem/26907449> llvm-svn: 273307
* Fix the "Release" build on MacOSX for debugserver. Extra bad include paths ↵Greg Clayton2016-06-211-1/+0
| | | | | | were making things not build due to header file issues with stdio.h. llvm-svn: 273306
* Revert "[MS] Don't expect vftables to be provided for extern template ↵Reid Kleckner2016-06-214-19/+14
| | | | | | | | instantiations" This reverts commit r273296, it broke the Windows self-host. llvm-svn: 273305
* clang-rename: add a -old-name optionMiklos Vajna2016-06-216-6/+68
| | | | | | | | | | | | | | | | | | | | | This is similar to -offset with the following differences: 1) -offset can refer to local variables as well. 2) -old-name makes it easier to refer to e.g. ClassName::MemberName by spelling out the fully qualified name, instead of having to use e.g. grep to look up the exact offset. In other words, -offset is great when clang-rename is invoked by e.g. an IDE, but not really user-friendly when the tool is invoked by the user from commandline. That's the use case where -old-name is supposed to improve the situation. Reviewers: klimek Differential Revision: http://reviews.llvm.org/D21517 llvm-svn: 273304
* Delete some dead code.Rafael Espindola2016-06-2110-104/+0
| | | | | | Found by gcc 6. llvm-svn: 273303
* [build] Make sure to link main executable with pthreadsArtem Belevich2016-06-213-3/+24
| | | | | | | | | | Otherwise it gets linked in by one of the dependencies of shared libraries which may be too late and we end up with weird crashes in std::call_once(). Differential Revision: http://reviews.llvm.org/D21478 llvm-svn: 273302
* Fix PR28219: Use profile summary from reader and not compute itEaswaran Raman2016-06-213-4/+23
| | | | | | Differentiaal revision: http://reviews.llvm.org/D21546 llvm-svn: 273301
* Delete dead code.Rafael Espindola2016-06-212-60/+0
| | | | | | Found by gcc 6. llvm-svn: 273300
* Add debug trace messages for taskloopJonathan Peyton2016-06-211-0/+5
| | | | llvm-svn: 273299
* Invoke PruneEH pass before Sample Profile pass.Dehao Chen2016-06-213-0/+9
| | | | | | | | | | | | Summary: We need to call PruneEH pass before AutoFDO pass so that some EH-related calls can get inlined in Sample Profile pass. Reviewers: davidxl, dnovillo Subscribers: junbuml, llvm-commits Differential Revision: http://reviews.llvm.org/D21197 llvm-svn: 273298
* Bug fix for hang when tasks used in nested parallelJonathan Peyton2016-06-212-3/+35
| | | | | | | | | | | | Bug fix for hang when omp task and nested parallelism used together. Still some problem remains with task state saving/restoring, but user's case works fine now. All tasking unit tests passed as well. Patch by Andrey Churbanov Differential Revision: http://reviews.llvm.org/D21558 llvm-svn: 273297
* [MS] Don't expect vftables to be provided for extern template instantiationsReid Kleckner2016-06-214-14/+19
| | | | | | | | | | | | | MSVC doesn't provide them. PR28223 I left behind the machinery in case we want to resurrect available_externally vftable emission to support devirtualization. Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D21544 llvm-svn: 273296
* Add MemoryAccess creation and PHI creation APIs to MemorySSADaniel Berlin2016-06-213-19/+238
| | | | | | | | | | Reviewers: george.burgess.iv, gberry, hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21463 llvm-svn: 273295
* [codeview] Add support for splitting field list records over 64KBReid Kleckner2016-06-2114-40/+169
| | | | | | | | | | | | | | | | | The basic structure is that once a list record goes over 64K, the last subrecord of the list is an LF_INDEX record that refers to the next record. Because the type record graph must be toplogically sorted, this means we have to emit them in reverse order. We build the type record in order of declaration, so this means that if we don't want extra copies, we need to detect when we were about to split a record, and leave space for a continuation subrecord that will point to the eventual split top-level record. Also adds dumping support for these records. Next we should make sure that large method overload lists work properly. llvm-svn: 273294
* Performance improvement: accessing thread struct as opposed to team structJonathan Peyton2016-06-211-12/+12
| | | | | | | | | | | Replaced readings of nproc from team structure with ones from thread structure to improve performance. Patch by Andrey Churbanov. Differential Revision: http://reviews.llvm.org/D21559 llvm-svn: 273293
* Respect LLVM_INSTALL_TOOLCHAIN_ONLY.Eugene Zelenko2016-06-212-18/+22
| | | | | | | | Only shared library should be installed when LLVM_INSTALL_TOOLCHAIN_ONLY=ON. Differential revision: http://reviews.llvm.org/D21543 llvm-svn: 273292
* [clang-apply-replacements] use Range::operator==() instead of self-defined ↵Eric Liu2016-06-211-3/+1
| | | | | | operator. llvm-svn: 273291
* Added calculateRangesAfterReplaments() to calculate affacted ranges in the ↵Eric Liu2016-06-213-7/+145
| | | | | | | | | | | | | | | | new code. Summary: Added calculateRangesAfterReplaments() to calculate original ranges as well as newly affacted ranges in the new code. Reviewers: klimek, djasper Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D21547 llvm-svn: 273290
* [aarch64] Update datalayout for aarch64 testsArtem Belevich2016-06-212-5/+3
| | | | | | This brings the tests in sync with the changes in r273280. llvm-svn: 273289
* Fix asan_win_dll_thunk.cc testDmitry Vyukov2016-06-211-0/+2
| | | | | | | | | Add the two public functions I added in my last commit in asan_win_dll_thunk.cc Author: blastrock (Philippe Daouadi) Reviewed in http://reviews.llvm.org/D21557 llvm-svn: 273288
* llvm-ar: correct typoSaleem Abdulrasool2016-06-211-1/+1
| | | | | | Default was misspelt. NFC. llvm-svn: 273287
* [AArch64] Fix merge-store.ll regression test after r273271Silviu Baranga2016-06-211-1/+1
| | | | | | | | | | | r273271 changed the RUN line of the regression test to use -march=cyclone instead of -mtriple=aarch64-none-none. This caused a change in the output syntax for the ext instruction, causing the test to fail. Change this test back to using -mtriple=aarch64-none-none. llvm-svn: 273286
* clang-format: [JS] Add a Closure Compiler JSDoc tags to the defaultDaniel Jasper2016-06-211-1/+1
| | | | | | Google configuration so that it isn't line-wrapped. llvm-svn: 273285
* Fix typo, NFCKrzysztof Parzyszek2016-06-211-1/+1
| | | | llvm-svn: 273284
* Add documentation for RenderScript changesPirama Arumuga Nainar2016-06-213-1/+21
| | | | | | | | | | | | | | Summary: - Document the new 'kernel' attribute - Mention RenderScript support in the Release Notes. Reviewers: rsmith Subscribers: tberghammer, danalbert, cfe-commits, srhines Differential Revision: http://reviews.llvm.org/D21212 llvm-svn: 273283
* Addition of debugger comments and whitespaceJonathan Peyton2016-06-213-9/+12
| | | | | | | | | | | | The removal of legacy code to support long-deprecated debugger support library resulted in some whitespace changes. Comments from that legacy code were made public as they may be useful for other debuggers. Patch by Olga Malysheva. Differential Revision: http://reviews.llvm.org/D21391 llvm-svn: 273282
* [StackProtector] Fix computation of GSCookieOffset and EHCookieOffset with SEH4Etienne Bergeron2016-06-216-13/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fix the computation of the offsets present in the scopetable when using the SEH (__except_handler4). This patch added an intrinsic to track the position of the allocation on the stack of the EHGuard. This position is needed when producing the ScopeTable. ``` struct _EH4_SCOPETABLE { DWORD GSCookieOffset; DWORD GSCookieXOROffset; DWORD EHCookieOffset; DWORD EHCookieXOROffset; _EH4_SCOPETABLE_RECORD ScopeRecord[1]; }; struct _EH4_SCOPETABLE_RECORD { DWORD EnclosingLevel; long (*FilterFunc)(); union { void (*HandlerAddress)(); void (*FinallyFunc)(); }; }; ``` The code to generate the EHCookie is added in `X86WinEHState.cpp`. Which is adding these instructions when using SEH4. ``` Lfunc_begin0: # BB#0: # %entry pushl %ebp movl %esp, %ebp pushl %ebx pushl %edi pushl %esi subl $28, %esp movl %ebp, %eax <<-- Loading FramePtr movl %esp, -36(%ebp) movl $-2, -16(%ebp) movl $L__ehtable$use_except_handler4_ssp, %ecx xorl ___security_cookie, %ecx movl %ecx, -20(%ebp) xorl ___security_cookie, %eax <<-- XOR FramePtr and Cookie movl %eax, -40(%ebp) <<-- Storing EHGuard leal -28(%ebp), %eax movl $__except_handler4, -24(%ebp) movl %fs:0, %ecx movl %ecx, -28(%ebp) movl %eax, %fs:0 movl $0, -16(%ebp) calll _may_throw_or_crash LBB1_1: # %cont movl -28(%ebp), %eax movl %eax, %fs:0 addl $28, %esp popl %esi popl %edi popl %ebx popl %ebp retl ``` And the corresponding offset is computed: ``` Luse_except_handler4_ssp$parent_frame_offset = -36 .p2align 2 L__ehtable$use_except_handler4_ssp: .long -2 # GSCookieOffset .long 0 # GSCookieXOROffset .long -40 # EHCookieOffset <<---- .long 0 # EHCookieXOROffset .long -2 # ToState .long _catchall_filt # FilterFunction .long LBB1_2 # ExceptionHandler ``` Clang is not yet producing function using SEH4, but it's a work in progress. This patch is a step toward having a valid implementation of SEH4. Unfortunately, it is not yet fully working. The EH registration block is not allocated at the right offset on the stack. Reviewers: rnk, majnemer Subscribers: llvm-commits, chrisha Differential Revision: http://reviews.llvm.org/D21231 llvm-svn: 273281
* [AArch64] Change the preferred alignment for char and short to word alignmentEvandro Menezes2016-06-211-2/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D21414 llvm-svn: 273280
* [AArch64] Change the preferred alignment for char and short to word alignmentEvandro Menezes2016-06-212-2/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D21414 llvm-svn: 273279
* Improvements to process affinity mask settingJonathan Peyton2016-06-211-51/+102
| | | | | | | | | | | | A couple improvements: 1) Add ability to limit fullMask size when KMP_HW_SUBSET limits resources. 2) Make KMP_HW_SUBSET work for affinity_none, and only limit fullMask in this case. Patch by Andrey Churbanov. Differential Revision: http://reviews.llvm.org/D21528 llvm-svn: 273278
* [AArch64] Restore codegen for AArch64 Cortex-A72/A73 after NFCISilviu Baranga2016-06-213-2/+24
| | | | | | | | | | | | | | | | | | | | | Summary: Code generation for Cortex-A72/Cortex-A73 was accidentally changed by r271555, which was a NFCI. The isCortexA57() predicate was not true for Cortex-A72/Cortex-A73 before r271555 (since it was checking the CPU string). Because Cortex-A72/Cortex-A73 inherit all features from Cortex-A57, all decisions previously guarded by isCortexA57() are now taken. This change restores the behaviour before r271555 by adding separate ProcA72/ProcA73, which have the required features to preserve code generation. Reviewers: kristof.beyls, aadg, mcrosier, rengolin Subscribers: mcrosier, llvm-commits, aemerson, t.p.northover, MatzeB, rengolin Differential Revision: http://reviews.llvm.org/D21182 llvm-svn: 273277
* Bug fix for segfault in stubs libraryJonathan Peyton2016-06-211-3/+7
| | | | | | | | | | | | There was a segfault in the stubs library in posix_memalign because of a bad parameter. The fix is to send address of the pointer as a parameter. Also added check of result of posix_memalign. Patch by Andrey Churbanov. Differential Revision: http://reviews.llvm.org/D21529 llvm-svn: 273276
* [clang-tidy] Add modernize-use-emplacePiotr Padlewski2016-06-219-0/+560
| | | | | | | | | | Summary: Add check that replaces call of push_back to emplace_back Reviewers: hokein Differential Revision: http://reviews.llvm.org/D20964 llvm-svn: 273275
* fix indentationEtienne Bergeron2016-06-211-1/+1
| | | | llvm-svn: 273274
* [STATS] Adding process id to output filenameJonathan Peyton2016-06-212-4/+20
| | | | | | | | | This change appends the process id to the KMP_STATS_FILE (if specified) which enables MPI processes to output their stats to separate files. Differential Revision: http://reviews.llvm.org/D21386 llvm-svn: 273273
* Fix typos in Fortran headersJonathan Peyton2016-06-212-6/+6
| | | | | | | | Fix typos in Fortran headers to match spec. Patch by Andrey Churbanov. Differential Revision: http://reviews.llvm.org/D21531 llvm-svn: 273272
OpenPOWER on IntegriCloud