Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
c7a82b41 |
| 06-May-2016 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP 4.0] Codegen for 'declare simd' directive.
OpenMP 4.0 adds support for elemental functions using declarative directive '#pragma omp declare simd'. Patch adds mangling for simd functions in a
[OPENMP 4.0] Codegen for 'declare simd' directive.
OpenMP 4.0 adds support for elemental functions using declarative directive '#pragma omp declare simd'. Patch adds mangling for simd functions in accordance with https://sourceware.org/glibc/wiki/libmvec?action=AttachFile&do=view&target=VectorABI.txt
llvm-svn: 268721
show more ...
|
#
06f445d6 |
| 28-Apr-2016 |
Adrian Prantl <aprantl@apple.com> |
Debug info: Apply an artificial debug location to __cyg_profile_func.* calls. The LLVM Verifier expects all inlinable calls in debuggable functions to have a location.
rdar://problem/25818489
llvm-
Debug info: Apply an artificial debug location to __cyg_profile_func.* calls. The LLVM Verifier expects all inlinable calls in debuggable functions to have a location.
rdar://problem/25818489
llvm-svn: 267904
show more ...
|
#
3fd323fa |
| 19-Apr-2016 |
Sanjay Patel <spatel@rotateright.com> |
reduce indentation; NFCI
llvm-svn: 266787
|
#
10a4972a |
| 08-Apr-2016 |
Saleem Abdulrasool <compnerd@compnerd.org> |
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 ...
|
#
f60a0d74 |
| 08-Apr-2016 |
Sanjoy Das <sanjoy@playingwithpointers.com> |
Adapt to LLVM API change
Replace mayBeOverridden with isInterposable
llvm-svn: 265767
|
#
94cfc603 |
| 07-Apr-2016 |
Saleem Abdulrasool <compnerd@compnerd.org> |
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 ...
|
#
d2f44d8d |
| 05-Apr-2016 |
Nirav Dave <niravd@google.com> |
Add -fno-jump-tables and-fjump-tables flags
Add no-jump-tables flag to disable use of jump tables when lowering switch statements
Reviewers: echristo, hans
Subscribers: llvm-commits
Differential
Add -fno-jump-tables and-fjump-tables flags
Add no-jump-tables flag to disable use of jump tables when lowering switch statements
Reviewers: echristo, hans
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18407
llvm-svn: 265425
show more ...
|
#
dc6b596e |
| 21-Mar-2016 |
Faisal Vali <faisalv@yahoo.com> |
[Cxx1z] Implement Lambda Capture of *this by Value as [=,*this] (P0018R3)
Implement lambda capture of *this by copy. For e.g.: struct A {
int d = 10; auto foo() { return [*this] (auto a) mutabl
[Cxx1z] Implement Lambda Capture of *this by Value as [=,*this] (P0018R3)
Implement lambda capture of *this by copy. For e.g.: struct A {
int d = 10; auto foo() { return [*this] (auto a) mutable { d+=a; return d; }; }
};
auto L = A{}.foo(); // A{}'s lifetime is gone.
// Below is still ok, because *this was captured by value. assert(L(10) == 20); assert(L(100) == 120);
If the capture was implicit, or [this] (i.e. *this was captured by reference), this code would be otherwise undefined.
Implementation Strategy: - amend the parser to accept *this in the lambda introducer - add a new king of capture LCK_StarThis - teach Sema::CheckCXXThisCapture to handle by copy captures of the enclosing object (i.e. *this) - when CheckCXXThisCapture does capture by copy, the corresponding initializer expression for the closure's data member direct-initializes it thus making a copy of '*this'. - in codegen, when assigning to CXXThisValue, if *this was captured by copy, make sure it points to the corresponding field member, and not, unlike when captured by reference, what the field member points to. - mark feature as implemented in svn
Much gratitude to Richard Smith for his carefully illuminating reviews!
llvm-svn: 263921
show more ...
|
#
557c20a8 |
| 13-Mar-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
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 <mehdi.amini@apple.com> llvm-svn: 263394
show more ...
|
#
02e3dd4b |
| 12-Mar-2016 |
Eric Christopher <echristo@gmail.com> |
Temporarily revert these patches:
commit 60d9845f6a037122d9be9a6d92d4de617ef45b04 Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 18:48:02 2016 +0000
Fix clang crash: when CodeGe
Temporarily revert these patches:
commit 60d9845f6a037122d9be9a6d92d4de617ef45b04 Author: Mehdi Amini <mehdi.amini@apple.com> 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 <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263273 91177308-0d34-0410-b5e6-96231b3b80d8
commit af7ce3bf04a75ad5124b457b805df26006bd215b Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 17:32:58 2016 +0000
Fix build: use -> with pointers and not .
Silly typo.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263267 91177308-0d34-0410-b5e6-96231b3b80d8
commit d0eea119192814954e7368c77d0dc5a9eeec1fbb Author: Mehdi Amini <mehdi.amini@apple.com> 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 <mehdi.amini@apple.com>
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 <mehdi.amini@apple.com> |
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 <mehdi.amini@apple.com> llvm-svn: 263257
show more ...
|
Revision tags: llvmorg-3.8.0 |
|
#
25eb165f |
| 01-Mar-2016 |
David Majnemer <david.majnemer@gmail.com> |
[MSVC Compat] Correctly handle finallys nested within finallys
We'd lose track of the parent CodeGenFunction, leading us to get confused with regard to which function a nested finally belonged to.
[MSVC Compat] Correctly handle finallys nested within finallys
We'd lose track of the parent CodeGenFunction, leading us to get confused with regard to which function a nested finally belonged to.
Differential Revision: http://reviews.llvm.org/D17752
llvm-svn: 262379
show more ...
|
#
11e13f60 |
| 26-Feb-2016 |
Xiuli Pan <xiulipan@outlook.com> |
[OpenCL] Refine OpenCLImageAccessAttr to OpenCLAccessAttr
Summary: OpenCL access qualifiers are now not only used for image types, refine it to avoid misleading,
Add semacheck for OpenCL access qua
[OpenCL] Refine OpenCLImageAccessAttr to OpenCLAccessAttr
Summary: OpenCL access qualifiers are now not only used for image types, refine it to avoid misleading,
Add semacheck for OpenCL access qualifier as well as test caees.
Reviewers: pekka.jaaskelainen, Anastasia, aaron.ballman
Subscribers: aaron.ballman, cfe-commits
Differential Revision: http://reviews.llvm.org/D16040
llvm-svn: 261961
show more ...
|
Revision tags: llvmorg-3.8.0-rc3 |
|
#
9837ef56 |
| 04-Feb-2016 |
Rong Xu <xur@google.com> |
[PGO] cc1 option name change for profile instrumentation
This patch changes cc1 option -fprofile-instr-generate to an enum option -fprofile-instrument={clang|none}. It also changes cc1 options -fpro
[PGO] cc1 option name change for profile instrumentation
This patch changes cc1 option -fprofile-instr-generate to an enum option -fprofile-instrument={clang|none}. It also changes cc1 options -fprofile-instr-generate= to -fprofile-instrument-path=. The driver level option -fprofile-instr-generate and -fprofile-instr-generate= remain intact. This change will pave the way to integrate new PGO instrumentation in IR level.
Review: http://reviews.llvm.org/D16730 llvm-svn: 259811
show more ...
|
Revision tags: llvmorg-3.8.0-rc2 |
|
#
8c30592e |
| 02-Feb-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move DebugInfoKind into its own header to cut the cyclic dependency edge from Driver to Frontend.
llvm-svn: 259489
|
Revision tags: llvmorg-3.8.0-rc1 |
|
#
dc134531 |
| 16-Jan-2016 |
Peter Collingbourne <peter@pcc.me.uk> |
Introduce -fsanitize-stats flag.
This is part of a new statistics gathering feature for the sanitizers. See clang/docs/SanitizerStats.rst for further info and docs.
Differential Revision: http://re
Introduce -fsanitize-stats flag.
This is part of a new statistics gathering feature for the sanitizers. See clang/docs/SanitizerStats.rst for further info and docs.
Differential Revision: http://reviews.llvm.org/D16175
llvm-svn: 257971
show more ...
|
#
d61f3c71 |
| 12-Jan-2016 |
Sanjay Patel <spatel@rotateright.com> |
function names start with a lower case letter ; NFC
llvm-svn: 257497
|
#
9c14e282 |
| 09-Jan-2016 |
Xiuli Pan <xiulipan@outlook.com> |
[OpenCL] Pipe type support
Summary: Support for OpenCL 2.0 pipe type. This is a bug-fix version for bader's patch reviews.llvm.org/D14441
Reviewers: pekka.jaaskelainen, Anastasia
Subscribers: bad
[OpenCL] Pipe type support
Summary: Support for OpenCL 2.0 pipe type. This is a bug-fix version for bader's patch reviews.llvm.org/D14441
Reviewers: pekka.jaaskelainen, Anastasia
Subscribers: bader, Anastasia, cfe-commits
Differential Revision: http://reviews.llvm.org/D15603
llvm-svn: 257254
show more ...
|
#
3a561459 |
| 06-Dec-2015 |
Serge Pavlov <sepavloff@gmail.com> |
[PGO] Instrument only base constructors and destructors.
Constructors and destructors may be represented by several functions in IR. Only base structors correspond to source code, others are small p
[PGO] Instrument only base constructors and destructors.
Constructors and destructors may be represented by several functions in IR. Only base structors correspond to source code, others are small pieces of code and eventually call the base variant. In this case instrumentation of non-base structors has little sense, this fix remove it. Now profile data of a declaration corresponds to exactly one function in IR, it agrees with the current logic of the profile data loading.
This change fixes PR24996.
Differential Revision: http://reviews.llvm.org/D15158
llvm-svn: 254876
show more ...
|
#
3e3bb95b |
| 02-Dec-2015 |
George Burgess IV <george.burgess.iv@gmail.com> |
Add the `pass_object_size` attribute to clang.
`pass_object_size` is our way of enabling `__builtin_object_size` to produce high quality results without requiring inlining to happen everywhere.
A l
Add the `pass_object_size` attribute to clang.
`pass_object_size` is our way of enabling `__builtin_object_size` to produce high quality results without requiring inlining to happen everywhere.
A link to the design doc for this attribute is available at the Differential review link below.
Differential Revision: http://reviews.llvm.org/D13263
llvm-svn: 254554
show more ...
|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
b7bbc533 |
| 16-Nov-2015 |
Eric Christopher <echristo@gmail.com> |
When producing error messages for always_inline functions with the target attribute, don't include "negative" subtarget features in the list of required features. Builtins are positive by default so
When producing error messages for always_inline functions with the target attribute, don't include "negative" subtarget features in the list of required features. Builtins are positive by default so don't need this change, but we pull the default list of features from the command line and so need to make sure that we only include features that are turned on for code generation in our error.
llvm-svn: 253242
show more ...
|
#
ce836776 |
| 14-Nov-2015 |
Eric Christopher <echristo@gmail.com> |
Add support for the always_inline + target feature diagnostic to print out the first missing target feature that's required and reword the diagnostic accordingly.
llvm-svn: 253121
|
#
c16a60b6 |
| 12-Nov-2015 |
James Molloy <james.molloy@arm.com> |
[C++] Add the "norecurse" attribute to main() if in C++ mode
The C++ spec (3.6.1.3) says "The function `main` shall not be used within a program". This implies that it cannot recurse, so add the nor
[C++] Add the "norecurse" attribute to main() if in C++ mode
The C++ spec (3.6.1.3) says "The function `main` shall not be used within a program". This implies that it cannot recurse, so add the norecurse attribute to help the midend out a bit.
llvm-svn: 252902
show more ...
|
#
5df25338 |
| 12-Nov-2015 |
David Blaikie <dblaikie@gmail.com> |
Refactor out some common code from r252834
llvm-svn: 252840
|
#
2b2d56f0 |
| 12-Nov-2015 |
Eric Christopher <echristo@gmail.com> |
Provide a frontend based error for always_inline functions that require target features that the caller function doesn't provide. This matches the existing backend failure to inline functions that do
Provide a frontend based error for always_inline functions that require target features that the caller function doesn't provide. This matches the existing backend failure to inline functions that don't have matching target features - and diagnoses earlier in the case of always_inline.
Fix up a few test cases that were, in fact, invalid if you tried to generate code from the backend with the specified target features and add a couple of tests to illustrate what's going on.
This should fix PR25246.
llvm-svn: 252834
show more ...
|