| #
4088571c |
| 27-Sep-2016 |
Richard Smith <[email protected]> |
Remove default argument from lambda to appease old MSVC.
llvm-svn: 282464
|
| #
9e67b992 |
| 26-Sep-2016 |
Richard Smith <[email protected]> |
P0145R3 (C++17 evaluation order tweaks): consistently emit the LHS of array subscripting before the RHS, regardless of which is the base and which is the index.
llvm-svn: 282453
|
| #
eeb56abe |
| 13-Sep-2016 |
Peter Collingbourne <[email protected]> |
Update Clang for D20147 ("DebugInfo: New metadata representation for global variables.")
Differential Revision: http://reviews.llvm.org/D20415
llvm-svn: 281285
|
| #
21f51b3a |
| 09-Sep-2016 |
Amaury Sechet <[email protected]> |
Update clang for D21514. NFC
Summary: As per title.
Reviewers: ahatanak, bkramer, whitequark, mehdi_amini, void
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D21515
llv
Update clang for D21514. NFC
Summary: As per title.
Reviewers: ahatanak, bkramer, whitequark, mehdi_amini, void
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D21515
llvm-svn: 281018
show more ...
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
| #
da383637 |
| 15-Aug-2016 |
Richard Smith <[email protected]> |
P0217R3: code generation support for decomposition declarations.
llvm-svn: 278642
|
|
Revision tags: llvmorg-3.9.0-rc1 |
|
| #
0bc4b2d3 |
| 28-Jul-2016 |
Yaxun Liu <[email protected]> |
[OpenCL] Generate opaque type for sampler_t and function call for the initializer
Currently Clang use int32 to represent sampler_t, which have been a source of issue for some backends, because in so
[OpenCL] Generate opaque type for sampler_t and function call for the initializer
Currently Clang use int32 to represent sampler_t, which have been a source of issue for some backends, because in some backends sampler_t cannot be represented by int32. They have to depend on kernel argument metadata and use IPA to find the sampler arguments and global variables and transform them to target specific sampler type.
This patch uses opaque pointer type opencl.sampler_t* for sampler_t. For each use of file-scope sampler variable, it generates a function call of __translate_sampler_initializer. For each initialization of function-scope sampler variable, it generates a function call of __translate_sampler_initializer.
Each builtin library can implement its own __translate_sampler_initializer(). Since the real sampler type tends to be architecture dependent, allowing it to be initialized by a library function simplifies backend design. A typical implementation of __translate_sampler_initializer could be a table lookup of real sampler literal values. Since its argument is always a literal, the returned pointer is known at compile time and easily optimized to finally become some literal values directly put into image read instructions.
This patch is partially based on Alexey Sotkin's work in Khronos Clang (https://github.com/KhronosGroup/SPIR/commit/3d4eec61623502fc306e8c67c9868be2b136e42b).
Differential Revision: https://reviews.llvm.org/D21567
llvm-svn: 277024
show more ...
|
| #
f2f1a099 |
| 08-Jul-2016 |
Craig Topper <[email protected]> |
[CodeGen] Use llvm::Type::getVectorNumElements instead of casting to llvm::VectorType and calling getNumElements. This is equivalent and shorter.
llvm-svn: 274823
|
| #
421119fd |
| 01-Jul-2016 |
Tim Shen <[email protected]> |
[Temporary, Lifetime] Add lifetime marks for temporaries
With all MaterializeTemporaryExprs coming with a ExprWithCleanups, it's easy to add correct lifetime.end marks into the right RunCleanupsScop
[Temporary, Lifetime] Add lifetime marks for temporaries
With all MaterializeTemporaryExprs coming with a ExprWithCleanups, it's easy to add correct lifetime.end marks into the right RunCleanupsScope.
Differential Revision: http://reviews.llvm.org/D20499
llvm-svn: 274385
show more ...
|
| #
8dd14da0 |
| 24-Jun-2016 |
Peter Collingbourne <[email protected]> |
CodeGen: Update Clang to use the new type metadata.
Differential Revision: http://reviews.llvm.org/D21054
llvm-svn: 273730
|
| #
bcf909d7 |
| 14-Jun-2016 |
Peter Collingbourne <[email protected]> |
Update clang for D20348
Differential Revision: http://reviews.llvm.org/D20339
llvm-svn: 272710
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
| #
a38c9f1f |
| 24-May-2016 |
David Majnemer <[email protected]> |
[MS Volatile] Don't make volatile loads/stores to underaligned objects atomic
Underaligned atomic LValues require libcalls which MSVC doesn't have. MSVC doesn't seem to consider such operations as r
[MS Volatile] Don't make volatile loads/stores to underaligned objects atomic
Underaligned atomic LValues require libcalls which MSVC doesn't have. MSVC doesn't seem to consider such operations as requiring a barrier anyway.
This fixes PR27843.
llvm-svn: 270576
show more ...
|
| #
fdacb5c0 |
| 13-May-2016 |
Akira Hatanaka <[email protected]> |
[ObjC][CodeGen] Remove an assert that is no longer correct.
clang asserts when compiling the following code because r231508 made changes to promote constant temporary arrays and records to globals w
[ObjC][CodeGen] Remove an assert that is no longer correct.
clang asserts when compiling the following code because r231508 made changes to promote constant temporary arrays and records to globals with constant initializers:
std::vector<NSString*> strs = {@"a", @"b"};
This commit changes the code to return early if the object returned by createReferenceTemporary is a global variable with an initializer.
rdar://problem/25504992 rdar://problem/25955179
Differential Revision: http://reviews.llvm.org/D20045
llvm-svn: 269385
show more ...
|
| #
ab731f7e |
| 12-May-2016 |
Filipe Cabecinhas <[email protected]> |
[ubsan] Add -fsanitize-undefined-strip-path-components=N
Summary: This option allows the user to control how much of the file name is emitted by UBSan. Tuning this option allows one to save space in
[ubsan] Add -fsanitize-undefined-strip-path-components=N
Summary: This option allows the user to control how much of the file name is emitted by UBSan. Tuning this option allows one to save space in the resulting binary, which is helpful for restricted execution environments.
With a positive N, UBSan skips the first N path components. With a negative N, UBSan only keeps the last N path components.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D19666
llvm-svn: 269309
show more ...
|
| #
9d031092 |
| 02-May-2016 |
Reid Kleckner <[email protected]> |
Fix argument expansion of reference fields of structs
r268261 made Clang "expand" more struct arguments on Windows. It removed the check for 'RD->isCLike()', which was preventing us from attempting
Fix argument expansion of reference fields of structs
r268261 made Clang "expand" more struct arguments on Windows. It removed the check for 'RD->isCLike()', which was preventing us from attempting to expand structs with reference type fields.
Our expansion code was attempting to load and pass each field of the type in turn. We were accidentally doing one to many loads on reference type fields.
On the function prologue side, we can use EmitLValueForFieldInitialization, which obviously gets the address of the field. On the call side, I tweaked EmitRValueForField directly, since this is the only use of this method.
Fixes PR27607
llvm-svn: 268321
show more ...
|
| #
5ff6747e |
| 11-Apr-2016 |
Benjamin Kramer <[email protected]> |
Remove redundant conditions of the form (A || (!A && B)) -> (A || B)
Found by cppcheck! PR27286 PR27287 PR27288 PR27289
llvm-svn: 265918
|
| #
10a4972a |
| 08-Apr-2016 |
Saleem Abdulrasool <[email protected]> |
revert SVN r265702, r265640
Revert the two changes to thread CodeGenOptions into the TargetInfo allocation and to fix the layering violation by moving CodeGenOptions into Basic. Code Generation is a
revert SVN r265702, r265640
Revert the two changes to thread CodeGenOptions into the TargetInfo allocation and to fix the layering violation by moving CodeGenOptions into Basic. Code Generation is arguably not particularly "basic". This addresses Richard's post-commit review comments. This change purely does the mechanical revert and will be followed up with an alternate approach to thread the desired information into TargetInfo.
llvm-svn: 265806
show more ...
|
| #
94cfc603 |
| 07-Apr-2016 |
Saleem Abdulrasool <[email protected]> |
Basic: move CodeGenOptions from Frontend
This is a mechanical move of CodeGenOptions from libFrontend to libBasic. This fixes the layering violation introduced earlier by threading CodeGenOptions i
Basic: move CodeGenOptions from Frontend
This is a mechanical move of CodeGenOptions from libFrontend to libBasic. This fixes the layering violation introduced earlier by threading CodeGenOptions into TargetInfo. It should also fix the modules based self-hosting builds. NFC.
llvm-svn: 265702
show more ...
|
| #
02279ed1 |
| 15-Mar-2016 |
Evgeniy Stepanov <[email protected]> |
[cfi] Don't emit checks for disabled CFI kinds.
In the cross-DSO CFI mode clang emits __cfi_check_fail that handles errors triggered from other modules with targets in the current module. With this
[cfi] Don't emit checks for disabled CFI kinds.
In the cross-DSO CFI mode clang emits __cfi_check_fail that handles errors triggered from other modules with targets in the current module. With this change, __cfi_check_fail will handle errors for CFI kinds that are not enabled in the current module as if they have the trapping behaviour (-fsanitize-trap=...).
This fixes a bug where some combinations of -fsanitize* flags may result in a link failure due to a missing sanitizer runtime library for the diagnostic calls in __cfi_check_fail.
llvm-svn: 263578
show more ...
|
| #
557c20a8 |
| 13-Mar-2016 |
Mehdi Amini <[email protected]> |
Remove compile time PreserveName in favor of a runtime cc1 -discard-value-names option
Summary: This flag is enabled by default in the driver when NDEBUG is set. It is forwarded on the LLVMContext t
Remove compile time PreserveName in favor of a runtime cc1 -discard-value-names option
Summary: This flag is enabled by default in the driver when NDEBUG is set. It is forwarded on the LLVMContext to discard all value names (but GlobalValue) for performance purpose.
This an improved version of D18024
Reviewers: echristo, chandlerc
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D18127
From: Mehdi Amini <[email protected]> llvm-svn: 263394
show more ...
|
| #
02e3dd4b |
| 12-Mar-2016 |
Eric Christopher <[email protected]> |
Temporarily revert these patches:
commit 60d9845f6a037122d9be9a6d92d4de617ef45b04 Author: Mehdi Amini <[email protected]> Date: Fri Mar 11 18:48:02 2016 +0000
Fix clang crash: when CodeGe
Temporarily revert these patches:
commit 60d9845f6a037122d9be9a6d92d4de617ef45b04 Author: Mehdi Amini <[email protected]> Date: Fri Mar 11 18:48:02 2016 +0000
Fix clang crash: when CodeGenAction is initialized without a context, use the member and not the parameter
From: Mehdi Amini <[email protected]>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263273 91177308-0d34-0410-b5e6-96231b3b80d8
commit af7ce3bf04a75ad5124b457b805df26006bd215b Author: Mehdi Amini <[email protected]> Date: Fri Mar 11 17:32:58 2016 +0000
Fix build: use -> with pointers and not .
Silly typo.
From: Mehdi Amini <[email protected]>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263267 91177308-0d34-0410-b5e6-96231b3b80d8
commit d0eea119192814954e7368c77d0dc5a9eeec1fbb Author: Mehdi Amini <[email protected]> Date: Fri Mar 11 17:15:44 2016 +0000
Remove compile time PreserveName switch based on NDEBUG
Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds.
Reviewers: chandlerc
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D18024
From: Mehdi Amini <[email protected]>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263257 91177308-0d34-0410-b5e6-96231b3b80d8
until we can fix the Release builds.
This reverts commits 263257, 263267, 263273
llvm-svn: 263320
show more ...
|
| #
e803fc32 |
| 11-Mar-2016 |
Mehdi Amini <[email protected]> |
Remove compile time PreserveName switch based on NDEBUG
Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds.
Reviewers: chandlerc
Subsc
Remove compile time PreserveName switch based on NDEBUG
Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds.
Reviewers: chandlerc
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D18024
From: Mehdi Amini <[email protected]> llvm-svn: 263257
show more ...
|
| #
c56a8b32 |
| 11-Mar-2016 |
John McCall <[email protected]> |
Preserve ExtParameterInfos into CGFunctionInfo.
As part of this, make the function-arrangement interfaces a little simpler and more semantic.
NFC.
llvm-svn: 263191
|
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
| #
31300ed0 |
| 04-Feb-2016 |
Alexey Bataev <[email protected]> |
[OPENMP 4.0] Fixed support of array sections/array subscripts. Codegen for array sections/array subscripts worked only for expressions with arrays as base. Patch fixes codegen for bases with pointer/
[OPENMP 4.0] Fixed support of array sections/array subscripts. Codegen for array sections/array subscripts worked only for expressions with arrays as base. Patch fixes codegen for bases with pointer/reference types.
llvm-svn: 259776
show more ...
|
| #
f31ea306 |
| 03-Feb-2016 |
Evgeniy Stepanov <[email protected]> |
[cfi] Safe handling of unaddressable vtable pointers (clang).
Avoid crashing when printing diagnostics for vtable-related CFI errors. In diagnostic mode, the frontend does an additional check of the
[cfi] Safe handling of unaddressable vtable pointers (clang).
Avoid crashing when printing diagnostics for vtable-related CFI errors. In diagnostic mode, the frontend does an additional check of the vtable pointer against the set of all known vtable addresses and lets the runtime handler know if it is safe to inspect the vtable.
http://reviews.llvm.org/D16823
llvm-svn: 259716
show more ...
|
|
Revision tags: llvmorg-3.8.0-rc2 |
|
| #
4d3b087c |
| 25-Jan-2016 |
Evgeniy Stepanov <[email protected]> |
Fix use of constexpr std::pair that's not in C++11.
llvm-svn: 258749
|