#
b4670fc7 |
| 25-May-2018 |
Ivan Donchevskii <ivan.donchevskii@qt.io> |
Optionally add code completion results for arrow instead of dot
Currently getting such completions requires source correction, reparsing and calling completion again. And if it shows no results and
Optionally add code completion results for arrow instead of dot
Currently getting such completions requires source correction, reparsing and calling completion again. And if it shows no results and rollback is required then it costs one more reparse.
With this change it's possible to get all results which can be later filtered to split changes which require correction.
Differential Revision: https://reviews.llvm.org/D41537
llvm-svn: 333272
show more ...
|
#
66f9577f |
| 21-May-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP-SIMD] Fix PR37536: Fix definition of _OPENMP macro.
if `-fopenmp-simd` is specified alone, `_OPENMP` macro should not be defined. If `-fopenmp-simd` is specified along with the `-fopenmp`,
[OPENMP-SIMD] Fix PR37536: Fix definition of _OPENMP macro.
if `-fopenmp-simd` is specified alone, `_OPENMP` macro should not be defined. If `-fopenmp-simd` is specified along with the `-fopenmp`, `_OPENMP` macro should be defined with the value `201511`.
llvm-svn: 332852
show more ...
|
#
5062e4b1 |
| 20-May-2018 |
Nico Weber <nicolasweber@gmx.de> |
Revert 332750, clang part (see comment on D46910).
llvm-svn: 332822
|
#
24b61ac8 |
| 18-May-2018 |
Petr Hosek <phosek@chromium.org> |
[Support] Avoid normalization in sys::getDefaultTargetTriple
The return value of sys::getDefaultTargetTriple, which is derived from -DLLVM_DEFAULT_TRIPLE, is used to construct tool names, default ta
[Support] Avoid normalization in sys::getDefaultTargetTriple
The return value of sys::getDefaultTargetTriple, which is derived from -DLLVM_DEFAULT_TRIPLE, is used to construct tool names, default target, and in the future also to control the search path directly; as such it should be used textually, without interpretation by LLVM.
Normalization of this value may lead to unexpected results, for example if we configure LLVM with -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-linux-gnu, normalization will transform that value to x86_64--linux-gnu. Driver will use that value to search for tools prefixed with x86_64--linux-gnu- which may be confusing. This is also inconsistent with the behavior of the --target flag which is taken as-is without any normalization and overrides the value of LLVM_DEFAULT_TARGET_TRIPLE.
Users of sys::getDefaultTargetTriple already perform their own normalization as needed, so this change shouldn't impact existing logic.
Differential Revision: https://reviews.llvm.org/D46910
llvm-svn: 332750
show more ...
|
#
0fb8c877 |
| 18-May-2018 |
Alexander Ivchenko <alexander.ivchenko@intel.com> |
This patch aims to match the changes introduced in gcc by https://gcc.gnu.org/ml/gcc-cvs/2018-04/msg00534.html. The -mibt feature flag is being removed, and the -fcf-protection option now also define
This patch aims to match the changes introduced in gcc by https://gcc.gnu.org/ml/gcc-cvs/2018-04/msg00534.html. The -mibt feature flag is being removed, and the -fcf-protection option now also defines a CET macro and causes errors when used on non-X86 targets, while X86 targets no longer check for -mibt and -mshstk to determine if -fcf-protection is supported. -mshstk is now used only to determine availability of shadow stack intrinsics.
Comes with an LLVM patch (D46882).
Patch by mike.dvoretsky
Differential Revision: https://reviews.llvm.org/D46881
llvm-svn: 332704
show more ...
|
#
9a40ff50 |
| 16-May-2018 |
Douglas Yung <douglas.yung@sony.com> |
Revert commits r332160, r332164, r332236.
It was decided this is the wrong approach to fix this issue.
llvm-svn: 332421
|
#
dde9de7c |
| 12-May-2018 |
Douglas Yung <douglas.yung@sony.com> |
Force the PS4 clang ABI version to 6.
The PS4 requires clang ABI version 6 for compatibility reasons. This change forces this and if the user specifies a different version when the PS4 target is spe
Force the PS4 clang ABI version to 6.
The PS4 requires clang ABI version 6 for compatibility reasons. This change forces this and if the user specifies a different version when the PS4 target is specified, the compiler emits a warning that the specified version is being ignored.
Reviewers: probinson
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D46767
llvm-svn: 332160
show more ...
|
#
679dafe6 |
| 09-May-2018 |
Artem Belevich <tra@google.com> |
[CUDA] Added -f[no-]cuda-short-ptr option
The option enables use of 32-bit pointers for accessing const/local/shared memory. The feature is disabled by default.
Differential Revision: https://revie
[CUDA] Added -f[no-]cuda-short-ptr option
The option enables use of 32-bit pointers for accessing const/local/shared memory. The feature is disabled by default.
Differential Revision: https://reviews.llvm.org/D46148
llvm-svn: 331938
show more ...
|
#
2ca6ba10 |
| 09-May-2018 |
Sven van Haastregt <sven.vanhaastregt@arm.com> |
[OpenCL] Restrict various keywords in OpenCL C++ mode
Restrict the following keywords in the OpenCL C++ language mode, according to Sections 2.2 & 2.9 of the OpenCL C++ 1.0 Specification.
- dynami
[OpenCL] Restrict various keywords in OpenCL C++ mode
Restrict the following keywords in the OpenCL C++ language mode, according to Sections 2.2 & 2.9 of the OpenCL C++ 1.0 Specification.
- dynamic_cast - typeid - register (already restricted in OpenCL C, update the diagnostic) - thread_local - exceptions (try/catch/throw) - access qualifiers read_only, write_only, read_write
Support the `__global`, `__local`, `__constant`, `__private`, and `__generic` keywords in OpenCL C++. Leave the unprefixed address space qualifiers such as global available, i.e., do not mark them as reserved keywords in OpenCL C++. libclcxx provides explicit address space pointer classes such as `global_ptr` and `global<T>` that are implemented using the `__`-prefixed qualifiers.
Differential Revision: https://reviews.llvm.org/D46022
llvm-svn: 331874
show more ...
|
#
9fc8faf9 |
| 09-May-2018 |
Adrian Prantl <aprantl@apple.com> |
Remove \brief commands from doxygen comments.
This is similar to the LLVM change https://reviews.llvm.org/D46290.
We've been running doxygen with the autobrief option for a couple of years now. Thi
Remove \brief commands from doxygen comments.
This is similar to the LLVM change https://reviews.llvm.org/D46290.
We've been running doxygen with the autobrief option for a couple of years now. This makes the \brief markers into our comments redundant. Since they are a visual distraction and we don't want to encourage more \brief markers in new code either, this patch removes them all.
Patch produced by
for i in $(git grep -l '\@brief'); do perl -pi -e 's/\@brief //g' $i & done for i in $(git grep -l '\\brief'); do perl -pi -e 's/\\brief //g' $i & done
Differential Revision: https://reviews.llvm.org/D46320
llvm-svn: 331834
show more ...
|
#
35b61397 |
| 08-May-2018 |
Sven van Haastregt <sven.vanhaastregt@arm.com> |
[OpenCL] Factor out language version printing
Generate a printable OpenCL language version number in a single place and select between the OpenCL C or OpenCL C++ version accordingly.
Differential R
[OpenCL] Factor out language version printing
Generate a printable OpenCL language version number in a single place and select between the OpenCL C or OpenCL C++ version accordingly.
Differential Revision: https://reviews.llvm.org/D46382
llvm-svn: 331766
show more ...
|
#
66744f81 |
| 05-May-2018 |
Teresa Johnson <tejohnson@google.com> |
[ThinLTO] Support opt remarks options with distributed ThinLTO backends
Summary: Passes down the necessary code ge options to the LTO Config to enable -fdiagnostics-show-hotness and -fsave-optimizat
[ThinLTO] Support opt remarks options with distributed ThinLTO backends
Summary: Passes down the necessary code ge options to the LTO Config to enable -fdiagnostics-show-hotness and -fsave-optimization-record in the ThinLTO backend for a distributed build.
Also, remove warning about not having PGO when the input is IR.
Reviewers: pcc
Subscribers: mehdi_amini, inglorion, eraman, cfe-commits
Differential Revision: https://reviews.llvm.org/D46464
llvm-svn: 331592
show more ...
|
#
425f48d4 |
| 04-May-2018 |
Erich Keane <erich.keane@intel.com> |
[clang-cl] Print /showIncludes to stderr, if used in combination with /E, /EP or /P
This replicates 'cl.exe' behavior and allows for both preprocessor output and dependency information to be extrace
[clang-cl] Print /showIncludes to stderr, if used in combination with /E, /EP or /P
This replicates 'cl.exe' behavior and allows for both preprocessor output and dependency information to be extraced with a single compiler invocation.
This is especially useful for compiler caching with tools like Mozilla's sccache.
See: https://github.com/mozilla/sccache/issues/246
Patch By: fxb
Differential Revision: https://reviews.llvm.org/D46394
llvm-svn: 331533
show more ...
|
#
1ab34573 |
| 02-May-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Enable c++ exceptions outside of the target constructs iff they are enabled for the host.
If the compilation for the host enables C++ exceptions, but they are not supported by the device, w
[OPENMP] Enable c++ exceptions outside of the target constructs iff they are enabled for the host.
If the compilation for the host enables C++ exceptions, but they are not supported by the device, we still need to allow the code with the exception handling constructs outside of the target regions.
llvm-svn: 331372
show more ...
|
#
3a8244df |
| 01-May-2018 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement P0482R2, support for char8_t type.
This is not yet part of any C++ working draft, and so is controlled by the flag -fchar8_t rather than a -std= flag. (The GCC implementation is controlled
Implement P0482R2, support for char8_t type.
This is not yet part of any C++ working draft, and so is controlled by the flag -fchar8_t rather than a -std= flag. (The GCC implementation is controlled by a flag with the same name.)
This implementation is experimental, and will be removed or revised substantially to match the proposal as it makes its way through the C++ committee.
llvm-svn: 331244
show more ...
|
#
c81450e2 |
| 30-Apr-2018 |
Sanjay Patel <spatel@rotateright.com> |
[Driver, CodeGen] rename options to disable an FP cast optimization
As suggested in the post-commit thread for rL331056, we should match these clang options with the established vocabulary of the c
[Driver, CodeGen] rename options to disable an FP cast optimization
As suggested in the post-commit thread for rL331056, we should match these clang options with the established vocabulary of the corresponding sanitizer option. Also, the use of 'strict' is well-known for these kinds of knobs, and we can improve the descriptive text in the docs.
So this intends to match the logic of D46135 but only change the words. Matching LLVM commit to match this spelling of the attribute to follow shortly.
Differential Revision: https://reviews.llvm.org/D46236
llvm-svn: 331209
show more ...
|
#
d1754765 |
| 27-Apr-2018 |
Sanjay Patel <spatel@rotateright.com> |
[Driver, CodeGen] add options to enable/disable an FP cast optimization
As discussed in the post-commit thread for: rL330437 ( http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20180423/54590
[Driver, CodeGen] add options to enable/disable an FP cast optimization
As discussed in the post-commit thread for: rL330437 ( http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20180423/545906.html )
We need a way to opt-out of a float-to-int-to-float cast optimization because too much existing code relies on the platform-specific undefined result of those casts when the float-to-int overflows.
The LLVM changes associated with adding this function attribute are here: rL330947 rL330950 rL330951
Also as suggested, I changed the LLVM doc to mention the specific sanitizer flag that catches this problem: rL330958
Differential Revision: https://reviews.llvm.org/D46135
llvm-svn: 331041
show more ...
|
#
887c569b |
| 25-Apr-2018 |
Yaxun Liu <Yaxun.Liu@amd.com> |
[HIP] Add hip input kind and codegen for kernel launching
HIP is a language similar to CUDA (https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_kernel_language.md ). The langu
[HIP] Add hip input kind and codegen for kernel launching
HIP is a language similar to CUDA (https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_kernel_language.md ). The language syntax is very similar, which allows a hip program to be compiled as a CUDA program by Clang. The main difference is the host API. HIP has a set of vendor neutral host API which can be implemented on different platforms. Currently there is open source implementation of HIP runtime on amdgpu target (https://github.com/ROCm-Developer-Tools/HIP).
This patch adds support of input kind and language standard hip.
When hip file is compiled, both LangOpts.CUDA and LangOpts.HIP is turned on. This allows compilation of hip program as CUDA in most cases and only special handling of hip program is needed LangOpts.HIP is checked.
This patch also adds support of kernel launching of HIP program using HIP host API.
When -x hip is not specified, there is no behaviour change for CUDA.
Patch by Greg Rodgers. Revised and lit test added by Yaxun Liu.
Differential Revision: https://reviews.llvm.org/D44984
llvm-svn: 330790
show more ...
|
#
49ffffbc |
| 23-Apr-2018 |
Sven van Haastregt <sven.vanhaastregt@arm.com> |
[OpenCL] Reject virtual functions for OpenCL C++
Differential Revision: https://reviews.llvm.org/D45873
llvm-svn: 330579
|
#
4a4e7a31 |
| 23-Apr-2018 |
Mikhail Maltsev <mikhail.maltsev@arm.com> |
[CodeGen] Reland r330442: Add an option to suppress output of llvm.ident
The test case in the original patch was overly contrained and failed on PPC targets.
llvm-svn: 330575
|
#
42b2a0e1 |
| 20-Apr-2018 |
Mikhail Maltsev <mikhail.maltsev@arm.com> |
Revert r330442, CodeGen/no-ident-version.c is failing on PPC
llvm-svn: 330451
|
#
6550c139 |
| 20-Apr-2018 |
Mikhail Maltsev <mikhail.maltsev@arm.com> |
[CodeGen] Add an option to suppress output of llvm.ident
Summary: By default Clang outputs its version (including git commit hash, in case of trunk builds) into object and assembly files. It might b
[CodeGen] Add an option to suppress output of llvm.ident
Summary: By default Clang outputs its version (including git commit hash, in case of trunk builds) into object and assembly files. It might be useful to have an option to disable this, especially for debugging purposes. This patch implements new command line flags -Qn and -Qy (the names are chosen for compatibility with GCC). -Qn disables output of the 'llvm.ident' metadata string and the 'producer' debug info. -Qy (enabled by default) does the opposite.
Reviewers: faisalv, echristo, aprantl
Reviewed By: aprantl
Subscribers: aprantl, cfe-commits, JDevlieghere, rogfer01
Differential Revision: https://reviews.llvm.org/D45255
llvm-svn: 330442
show more ...
|
#
3fe5b7a4 |
| 19-Apr-2018 |
Saleem Abdulrasool <compnerd@compnerd.org> |
Implement proper support for `-falign-functions`
This implements support for the previously ignored flag `-falign-functions`. This allows the frontend to request alignment on function definitions i
Implement proper support for `-falign-functions`
This implements support for the previously ignored flag `-falign-functions`. This allows the frontend to request alignment on function definitions in the translation unit where they are not explicitly requested in code. This is compatible with the GCC behaviour and the ICC behaviour.
The scalar value passed to `-falign-functions` aligns functions to a power-of-two boundary. If flag is used, the functions are aligned to 16-byte boundaries. If the scalar is specified, it must be an integer less than or equal to 4096. If the value is not a power-of-two, the driver will round it up to the nearest power of two.
llvm-svn: 330378
show more ...
|
#
f437e356 |
| 17-Apr-2018 |
Keith Wyss <wyssman@gmail.com> |
[XRay] Add clang builtin for xray typed events.
Summary: A clang builtin for xray typed events. Differs from __xray_customevent(...) by the presence of a type tag that is vended by compiler-rt in ty
[XRay] Add clang builtin for xray typed events.
Summary: A clang builtin for xray typed events. Differs from __xray_customevent(...) by the presence of a type tag that is vended by compiler-rt in typical usage. This allows xray handlers to expand logged events with their type description and plugins to process traced events based on type.
This change depends on D45633 for the intrinsic definition.
Reviewers: dberris, pelikan, rnk, eizan
Subscribers: cfe-commits, llvm-commits
Differential Revision: https://reviews.llvm.org/D45716
llvm-svn: 330220
show more ...
|
Revision tags: llvmorg-6.0.1-rc1 |
|
#
617e2615 |
| 17-Apr-2018 |
Akira Hatanaka <ahatanaka@apple.com> |
Add a command line option 'fregister_global_dtors_with_atexit' to register destructor functions annotated with __attribute__((destructor)) using __cxa_atexit or atexit.
Register destructor functions
Add a command line option 'fregister_global_dtors_with_atexit' to register destructor functions annotated with __attribute__((destructor)) using __cxa_atexit or atexit.
Register destructor functions annotated with __attribute__((destructor)) calling __cxa_atexit in a synthesized constructor function instead of emitting references to the functions in a special section.
The primary reason for adding this option is that we are planning to deprecate the __mod_term_funcs section on Darwin in the future. This feature is enabled by default only on Darwin. Users who do not want this can use command line option 'fno_register_global_dtors_with_atexit' to disable it.
rdar://problem/33887655
Differential Revision: https://reviews.llvm.org/D45578
llvm-svn: 330199
show more ...
|