#
7314aea5 |
| 02-Apr-2020 |
Daniel Kiss <daniel.kiss@arm.com> |
[clang] Move branch-protection from CodeGenOptions to LangOptions
Summary: Reason: the option has an effect on preprocessing.
Also see thread: http://lists.llvm.org/pipermail/cfe-dev/2020-March/06
[clang] Move branch-protection from CodeGenOptions to LangOptions
Summary: Reason: the option has an effect on preprocessing.
Also see thread: http://lists.llvm.org/pipermail/cfe-dev/2020-March/065014.html
Reviewers: chill, efriedma
Reviewed By: efriedma
Subscribers: efriedma, danielkiss, cfe-commits, kristof.beyls
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77131
show more ...
|
#
e3033c0c |
| 28-Mar-2020 |
Puyan Lotfi <puyan@puyan.org> |
[llvm][clang][IFS] Enhancing the llvm-ifs yaml format for symbol lists.
Prior to this change the clang interface stubs format resembled something ending with a symbol list like this:
Symbols: a
[llvm][clang][IFS] Enhancing the llvm-ifs yaml format for symbol lists.
Prior to this change the clang interface stubs format resembled something ending with a symbol list like this:
Symbols: a: { Type: Func }
This was problematic because we didn't actually want a map format and also because we didn't like that an empty symbol list required "Symbols: {}". That is to say without the empty {} llvm-ifs would crash on an empty list.
With this new format it is much more clear which field is the symbol name, and instead the [] that is used to express an empty symbol vector is optional, ie:
Symbols: - { Name: a, Type: Func }
or
Symbols: []
or
Symbols:
This further diverges the format from existing llvm-elftapi. This is a good thing because although the format originally came from the same place, they are not the same in any way.
Differential Revision: https://reviews.llvm.org/D76979
show more ...
|
#
531b3aff |
| 01-Apr-2020 |
Fangrui Song <maskray@google.com> |
[Frontend] Replace CC1 option -masm-verbose with -fno-verbose-asm
Most OS✕target enable -fverbose-asm, so it makes sense to flip the CC1 option to reduce common command lines.
|
#
d0d076fe |
| 01-Apr-2020 |
Fangrui Song <maskray@google.com> |
[Driver] Flip the CC1 default of -fdiagnostics-show-option
The driver enables -fdiagnostics-show-option by default, so flip the CC1 default to reduce the lengths of common CC1 command lines.
This c
[Driver] Flip the CC1 default of -fdiagnostics-show-option
The driver enables -fdiagnostics-show-option by default, so flip the CC1 default to reduce the lengths of common CC1 command lines.
This change also makes ParseDiagnosticArgs() consistently enable -fdiagnostics-show-option by default.
show more ...
|
#
48059019 |
| 31-Mar-2020 |
Fangrui Song <maskray@google.com> |
[Driver] Don't pass -fmessage-length=0 to CC1
-fmessage-length=0 is common (unless the environment variable COLUMNS is set and exported. This simplifies a common CC1 command line.
|
#
94d91229 |
| 31-Mar-2020 |
zhizhouy <zhizhouy@google.com> |
[NFC] Do not run CGProfilePass when not using integrated assembler
Summary: CGProfilePass is run by default in certain new pass manager optimization pipeline. Assemblers other than llvm as (such as
[NFC] Do not run CGProfilePass when not using integrated assembler
Summary: CGProfilePass is run by default in certain new pass manager optimization pipeline. Assemblers other than llvm as (such as gnu as) cannot recognize the .cgprofile entries generated and emitted from this pass, causing build time error.
This patch adds new options in clang CodeGenOpts and PassBuilder options so that we can turn cgprofile off when not using integrated assembler.
Reviewers: Bigcheese, xur, george.burgess.iv, chandlerc, manojgupta
Reviewed By: manojgupta
Subscribers: manojgupta, void, hiraditya, dexonsmith, llvm-commits, tcwang, llozano
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D62627
show more ...
|
#
62dea6e9 |
| 26-Mar-2020 |
Haojian Wu <hokein.wu@gmail.com> |
Revert "[AST] Build recovery expressions by default for C++."
This reverts commit 0788acbccbec094903a3425ffe5a98f8d55cbd64. This reverts commit c2d7a1f79cedfc9fcb518596aa839da4de0adb69: Revert "[cl
Revert "[AST] Build recovery expressions by default for C++."
This reverts commit 0788acbccbec094903a3425ffe5a98f8d55cbd64. This reverts commit c2d7a1f79cedfc9fcb518596aa839da4de0adb69: Revert "[clangd] Add test for FindTarget+RecoveryExpr (which already works). NFC"
It causes a crash on invalid code:
class X { decltype(unresolved()) foo; }; constexpr int s = sizeof(X);
show more ...
|
#
0788acbc |
| 24-Mar-2020 |
Haojian Wu <hokein.wu@gmail.com> |
[AST] Build recovery expressions by default for C++.
Update the existing tests.
Reviewers: sammccall
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76696
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6 |
|
#
733edf97 |
| 19-Mar-2020 |
Haojian Wu <hokein.wu@gmail.com> |
[AST] Add RecoveryExpr to retain expressions on semantic errors
Normally clang avoids creating expressions when it encounters semantic errors, even if the parser knows which expression to produce.
[AST] Add RecoveryExpr to retain expressions on semantic errors
Normally clang avoids creating expressions when it encounters semantic errors, even if the parser knows which expression to produce.
This works well for the compiler. However, this is not ideal for source-level tools that have to deal with broken code, e.g. clangd is not able to provide navigation features even for names that compiler knows how to resolve.
The new RecoveryExpr aims to capture the minimal set of information useful for the tools that need to deal with incorrect code:
source range of the expression being dropped, subexpressions of the expression. We aim to make constructing RecoveryExprs as simple as possible to ensure writing code to avoid dropping expressions is easy.
Producing RecoveryExprs can result in new code paths being taken in the frontend. In particular, clang can produce some new diagnostics now and we aim to suppress bogus ones based on Expr::containsErrors.
We deliberately produce RecoveryExprs only in the parser for now to minimize the code affected by this patch. Producing RecoveryExprs in Sema potentially allows to preserve more information (e.g. type of an expression), but also results in more code being affected. E.g. SFINAE checks will have to take presence of RecoveryExprs into account.
Initial implementation only works in C++ mode, as it relies on compiler postponing diagnostics on dependent expressions. C and ObjC often do not do this, so they require more work to make sure we do not produce too many bogus diagnostics on the new expressions.
See documentation of RecoveryExpr for more details.
original patch from Ilya This change is based on https://reviews.llvm.org/D61722
Reviewers: sammccall, rsmith
Reviewed By: sammccall, rsmith
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69330
show more ...
|
Revision tags: llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4 |
|
#
fc375266 |
| 10-Mar-2020 |
Shiva Chen <shiva@andestech.com> |
[RISCV] Passing small data limitation value to RISCV backend
Passing small data limit to RISCVELFTargetObjectFile by module flag, So the backend can set small data section threshold by the value. Th
[RISCV] Passing small data limitation value to RISCV backend
Passing small data limit to RISCVELFTargetObjectFile by module flag, So the backend can set small data section threshold by the value. The data will be put into the small data section if the data smaller than the threshold.
Differential Revision: https://reviews.llvm.org/D57497
show more ...
|
#
d9b96210 |
| 19-Mar-2020 |
Djordje Todorovic <djordje.todorovic@syrmia.com> |
Reland D73534: [DebugInfo] Enable the debug entry values feature by default
The issue that was causing the build failures was fixed with the D76164.
|
#
4add2492 |
| 14-Mar-2020 |
Ayke van Laethem <aykevanlaethem@gmail.com> |
[AVR] Add support for the -mdouble=x flag
This flag is used by avr-gcc (starting with v10) to set the width of the double type. The double type is by default interpreted as a 32-bit floating point n
[AVR] Add support for the -mdouble=x flag
This flag is used by avr-gcc (starting with v10) to set the width of the double type. The double type is by default interpreted as a 32-bit floating point number in avr-gcc instead of a 64-bit floating point number as is common on other architectures. Starting with GCC 10, a new option has been added to control this behavior: https://gcc.gnu.org/wiki/avr-gcc#Deviations_from_the_Standard
This commit keeps the default double at 32 bits but adds support for the -mdouble flag (-mdouble=32 and -mdouble=64) to control this behavior.
Differential Revision: https://reviews.llvm.org/D76181
show more ...
|
#
f82b32a5 |
| 13-Mar-2020 |
Nico Weber <thakis@chromium.org> |
Revert "Reland "[DebugInfo] Enable the debug entry values feature by default""
This reverts commit 5aa5c943f7da155b95564058cd5d50a93eabfc89. Causes clang to assert, see https://bugs.chromium.org/p/c
Revert "Reland "[DebugInfo] Enable the debug entry values feature by default""
This reverts commit 5aa5c943f7da155b95564058cd5d50a93eabfc89. Causes clang to assert, see https://bugs.chromium.org/p/chromium/issues/detail?id=1061533#c4 for a repro.
show more ...
|
#
5aa5c943 |
| 09-Mar-2020 |
Djordje Todorovic <djordje.todorovic@syrmia.com> |
Reland "[DebugInfo] Enable the debug entry values feature by default"
Differential Revision: https://reviews.llvm.org/D73534
|
#
3d9a0445 |
| 09-Mar-2020 |
Sjoerd Meijer <sjoerd.meijer@arm.com> |
Recommit #2 "[Driver] Default to -fno-common for all targets"
After a first attempt to fix the test-suite failures, my first recommit caused the same failures again. I had updated CMakeList.txt file
Recommit #2 "[Driver] Default to -fno-common for all targets"
After a first attempt to fix the test-suite failures, my first recommit caused the same failures again. I had updated CMakeList.txt files of tests that needed -fcommon, but it turns out that there are also Makefiles which are used by some bots, so I've updated these Makefiles now too.
See the original commit message for more details on this change: 0a9fc9233e172601e26381810d093e02ef410f65
show more ...
|
#
c15c68ab |
| 09-Mar-2020 |
Djordje Todorovic <djordje.todorovic@syrmia.com> |
[CallSiteInfo] Enable the call site info only for -g + optimizations
Emit call site info only in the case of '-g' + 'O>0' level.
Differential Revision: https://reviews.llvm.org/D75175
|
#
f35d112e |
| 09-Mar-2020 |
Sjoerd Meijer <sjoerd.meijer@arm.com> |
Revert "Recommit "[Driver] Default to -fno-common for all targets""
This reverts commit 2c36c23f3476baf3b9283ea387c579419a70b112.
Still problems in the test-suite, which I really thought I had fixe
Revert "Recommit "[Driver] Default to -fno-common for all targets""
This reverts commit 2c36c23f3476baf3b9283ea387c579419a70b112.
Still problems in the test-suite, which I really thought I had fixed...
show more ...
|
#
2c36c23f |
| 09-Mar-2020 |
Sjoerd Meijer <sjoerd.meijer@arm.com> |
Recommit "[Driver] Default to -fno-common for all targets"
This includes fixes for: - test-suite: some benchmarks need to be compiled with -fcommon, see D75557. - compiler-rt: one test needed -fcomm
Recommit "[Driver] Default to -fno-common for all targets"
This includes fixes for: - test-suite: some benchmarks need to be compiled with -fcommon, see D75557. - compiler-rt: one test needed -fcommon, and another a change, see D75520.
show more ...
|
Revision tags: llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1 |
|
#
118b057f |
| 26-Jul-2019 |
Ruyman <ruyman@codeplay.com> |
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion option to the version of SYCL. The default value is undefined. If driver is building SYCL code, flag is set to the default SYCL version (1.2.1)
The preprocessor uses this variable to define CL_SYCL_LANGUAGE_VERSION macro, which should be defined according to SYCL 1.2.1 standard.
Only valid value at this point for the flag is 1.2.1.
Co-Authored-By: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Signed-off-by: Ruyman Reyes <ruyman@codeplay.com>
Subscribers: ebevhan, Anastasia, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72857
show more ...
|
#
27a3ecee |
| 29-Feb-2020 |
Michael Spencer <bigcheesegs@gmail.com> |
[clang][Modules] Add -fsystem-module flag
The -fsystem-module flag is used when explicitly building a module. It forces the module to be treated as a system module. This is used when converting an i
[clang][Modules] Add -fsystem-module flag
The -fsystem-module flag is used when explicitly building a module. It forces the module to be treated as a system module. This is used when converting an implicit build to an explicit build to match the systemness the implicit build would have had for a given module.
Differential Revision: https://reviews.llvm.org/D75395
show more ...
|
#
4e363563 |
| 03-Mar-2020 |
Sjoerd Meijer <sjoerd.meijer@arm.com> |
Revert "[Driver] Default to -fno-common for all targets"
This reverts commit 0a9fc9233e172601e26381810d093e02ef410f65.
Going to look at the asan failures.
I find the failures in the test suite wei
Revert "[Driver] Default to -fno-common for all targets"
This reverts commit 0a9fc9233e172601e26381810d093e02ef410f65.
Going to look at the asan failures.
I find the failures in the test suite weird, because they look like compile time test and I don't understand how that can be failing, but will have a brief look at that too.
show more ...
|
#
0a9fc923 |
| 03-Mar-2020 |
Sjoerd Meijer <sjoerd.meijer@arm.com> |
[Driver] Default to -fno-common for all targets
This makes -fno-common the default for all targets because this has performance and code-size benefits and is more language conforming for C code. Add
[Driver] Default to -fno-common for all targets
This makes -fno-common the default for all targets because this has performance and code-size benefits and is more language conforming for C code. Additionally, GCC10 also defaults to -fno-common and so we get consistent behaviour with GCC.
With this change, C code that uses tentative definitions as definitions of a variable in multiple translation units will trigger multiple-definition linker errors. Generally, this occurs when the use of the extern keyword is neglected in the declaration of a variable in a header file. In some cases, no specific translation unit provides a definition of the variable. The previous behavior can be restored by specifying -fcommon.
As GCC has switched already, we benefit from applications already being ported and existing documentation how to do this. For example: - https://gcc.gnu.org/gcc-10/porting_to.html - https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
Differential revision: https://reviews.llvm.org/D75056
show more ...
|
#
91cdbd52 |
| 02-Mar-2020 |
Nick Desaulniers <ndesaulniers@google.com> |
clang: Switch C compilations to C17 by default.
Summary: Matches GCC 8.1 (2018).
Updates documentation+release notes as well.
See also https://reviews.llvm.org/rL220244.
Reviewers: rsmith, aaron.
clang: Switch C compilations to C17 by default.
Summary: Matches GCC 8.1 (2018).
Updates documentation+release notes as well.
See also https://reviews.llvm.org/rL220244.
Reviewers: rsmith, aaron.ballman
Reviewed By: rsmith, aaron.ballman
Subscribers: aaron.ballman, dschuff, aheejin, simoncook, s.egerton, cfe-commits, hans, srhines
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75383
show more ...
|
#
740ed617 |
| 27-Feb-2020 |
Alexey Bader <alexey.bader@intel.com> |
Revert "[SYCL] Driver option to select SYCL version"
This reverts commit bd97704eaaaab5a95ecb048ce343c1a4be5d94e5.
It broke tests on mac: http://45.33.8.238/mac/9011/step_7.txt
|
#
bd97704e |
| 26-Jul-2019 |
Ruyman <ruyman@codeplay.com> |
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion option to the version of SYCL. The default value is undefined. If driver is building SYCL code, flag is set to the default SYCL version (1.2.1)
The preprocessor uses this variable to define CL_SYCL_LANGUAGE_VERSION macro, which should be defined according to SYCL 1.2.1 standard.
Only valid value at this point for the flag is 1.2.1.
Co-Authored-By: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Signed-off-by: Ruyman Reyes <ruyman@codeplay.com>
Subscribers: ebevhan, Anastasia, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72857
Signed-off-by: Alexey Bader <alexey.bader@intel.com>
show more ...
|