- Jun 22, 2016
-
-
Chris Bieneman authored
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
-
Eric Liu authored
llvm-svn: 273319
-
Jan Vesely authored
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
-
Jan Vesely authored
Points to the start of implicit arguments (appended after explicit arguments) Differential Revision: http://reviews.llvm.org/D20297 llvm-svn: 273317
-
Michael Kuperstein authored
llvm-svn: 273316
-
Miklos Vajna authored
Adapt the test to the code change introduced in r273304. llvm-svn: 273314
-
Artem Belevich authored
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
-
Tim Shen authored
Since D21243 fixes relative clang-tidy tests. This reverts commit a71d9fbd41e99def9159af2b01ef6509394eaeed. llvm-svn: 273312
-
Sanjay Patel authored
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
-
Tim Shen authored
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
-
Richard Smith authored
(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
-
Rafael Espindola authored
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
-
Greg Clayton authored
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
-
Greg Clayton authored
Fix the "Release" build on MacOSX for debugserver. Extra bad include paths were making things not build due to header file issues with stdio.h. llvm-svn: 273306
-
Reid Kleckner authored
This reverts commit r273296, it broke the Windows self-host. llvm-svn: 273305
-
Miklos Vajna authored
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
-
Rafael Espindola authored
Found by gcc 6. llvm-svn: 273303
-
Artem Belevich authored
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
-
Easwaran Raman authored
Differentiaal revision: http://reviews.llvm.org/D21546 llvm-svn: 273301
-
Rafael Espindola authored
Found by gcc 6. llvm-svn: 273300
-
Jonathan Peyton authored
llvm-svn: 273299
-
Dehao Chen authored
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
-
Jonathan Peyton authored
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
-
Reid Kleckner authored
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
-
Daniel Berlin authored
Reviewers: george.burgess.iv, gberry, hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21463 llvm-svn: 273295
-
Reid Kleckner authored
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
-
Jonathan Peyton authored
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
-
Eugene Zelenko authored
Only shared library should be installed when LLVM_INSTALL_TOOLCHAIN_ONLY=ON. Differential revision: http://reviews.llvm.org/D21543 llvm-svn: 273292
-
Eric Liu authored
llvm-svn: 273291
-
Eric Liu authored
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
-
Artem Belevich authored
This brings the tests in sync with the changes in r273280. llvm-svn: 273289
-
Dmitry Vyukov authored
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
-
Saleem Abdulrasool authored
Default was misspelt. NFC. llvm-svn: 273287
-
Silviu Baranga authored
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
-
Daniel Jasper authored
Google configuration so that it isn't line-wrapped. llvm-svn: 273285
-
Krzysztof Parzyszek authored
llvm-svn: 273284
-
Pirama Arumuga Nainar authored
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
-
- Jun 21, 2016
-
-
Jonathan Peyton authored
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
-
Etienne Bergeron authored
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 -
Evandro Menezes authored
Differential Revision: http://reviews.llvm.org/D21414 llvm-svn: 273280
-