#
1193f2cb |
| 13-Aug-2015 |
Ivan Krasin <krasin@chromium.org> |
Add sanitizer blacklists to the rules generated with -M/-MM/-MD/-MMD.
Summary: Clang sanitizers, such as AddressSanitizer, ThreadSanitizer, MemorySanitizer, Control Flow Integrity and others, use bl
Add sanitizer blacklists to the rules generated with -M/-MM/-MD/-MMD.
Summary: Clang sanitizers, such as AddressSanitizer, ThreadSanitizer, MemorySanitizer, Control Flow Integrity and others, use blacklists to specify which types / functions should not be instrumented to avoid false positives or suppress known failures.
This change adds the blacklist filenames to the list of dependencies of the rules, generated with -M/-MM/-MD/-MMD. This lets CMake/Ninja recognize that certain C/C++/ObjC files need to be recompiled (if a blacklist is updated).
Reviewers: pcc
Subscribers: rsmith, honggyu.kim, pcc, cfe-commits
Differential Revision: http://reviews.llvm.org/D11968
llvm-svn: 244867
show more ...
|
#
c4b94da0 |
| 05-Aug-2015 |
Diego Novillo <dnovillo@google.com> |
Add -fno-coverage-mapping flag.
This new flag allows the user to disable a previous instance of -fcoverage-mapping, if needed.
llvm-svn: 244170
|
#
a910741c |
| 05-Aug-2015 |
Yaron Keren <yaron.keren@gmail.com> |
Remove unnecessary ClangLibdirSuffix variable. Twine + const char * is supported.
llvm-svn: 244110
|
#
124955aa |
| 05-Aug-2015 |
Reid Kleckner <reid@kleckner.net> |
Add -gcodeview and -gdwarf to control which type Clang emits
Summary: By default, 'clang' emits dwarf and 'clang-cl' emits codeview. You can force emission of one or both by passing -gcodeview and
Add -gcodeview and -gdwarf to control which type Clang emits
Summary: By default, 'clang' emits dwarf and 'clang-cl' emits codeview. You can force emission of one or both by passing -gcodeview and -gdwarf to either driver.
Reviewers: dblaikie, hans
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11742
llvm-svn: 244097
show more ...
|
#
31fdbfe5 |
| 05-Aug-2015 |
Douglas Katzman <dougk@google.com> |
Delete trailing whitespace
llvm-svn: 244051
|
#
dbf1045a |
| 31-Jul-2015 |
David Majnemer <david.majnemer@gmail.com> |
[MS ABI] Hook clang up to the new EH instructions
The new EH instructions make it possible for LLVM to generate .xdata tables that the MSVC personality routines will be happy about. Because this is
[MS ABI] Hook clang up to the new EH instructions
The new EH instructions make it possible for LLVM to generate .xdata tables that the MSVC personality routines will be happy about. Because this is experimental, hide it behind a -cc1 flag (-fnew-ms-eh).
Differential Revision: http://reviews.llvm.org/D11405
llvm-svn: 243767
show more ...
|
Revision tags: llvmorg-3.7.0-rc2 |
|
#
3c5038a5 |
| 30-Jul-2015 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
Add support for System z vector language extensions
The z13 vector facility has an associated language extension, closely modeled on AltiVec/VSX. The main differences are:
- vector long, vector fl
Add support for System z vector language extensions
The z13 vector facility has an associated language extension, closely modeled on AltiVec/VSX. The main differences are:
- vector long, vector float and vector pixel are not supported
- vector long long and vector double are supported (like VSX)
- comparison operators return a vector rather than a scalar integer
- shift operators behave like the OpenCL shift operators
- vector bool is only supported as argument to certain operators; some operators allow mixing a bool with a non-bool vector
This patch adds clang support for the extension. It is closely modelled on the AltiVec support. Similarly to the -faltivec option, there's a new -fzvector option to enable the extensions (as well as an -mzvector alias for compatibility with GCC). There's also a separate LangOpt.
The extension as implemented here is intended to be compatible with the -mzvector extension recently implemented by GCC.
Based on a patch by Richard Sandiford.
Differential Revision: http://reviews.llvm.org/D11001
llvm-svn: 243642
show more ...
|
#
2c656c94 |
| 28-Jul-2015 |
Chih-Hung Hsieh <chh@google.com> |
Add -femulated-tls flag to select the emulated TLS model.
This will be used for old targets like Android that do not support ELF TLS models.
Differential Revision: http://reviews.llvm.org/D10524
l
Add -femulated-tls flag to select the emulated TLS model.
This will be used for old targets like Android that do not support ELF TLS models.
Differential Revision: http://reviews.llvm.org/D10524
llvm-svn: 243441
show more ...
|
#
546a1962 |
| 17-Jul-2015 |
Steven Wu <stevenwu@apple.com> |
Fix -save-temp when using objc-arc, sanitizer and profiling
Currently, -save-temp will cause ObjCARC optimization to be dropped, sanitizer pass to run early in the pipeline, and profiling instrument
Fix -save-temp when using objc-arc, sanitizer and profiling
Currently, -save-temp will cause ObjCARC optimization to be dropped, sanitizer pass to run early in the pipeline, and profiling instrumentation to run twice. Fix the issue by properly disable all passes in the optimization pipeline when generating bitcode output and parse some of the Language Options even when the input is bitcode so the passes can be setup correctly.
llvm-svn: 242565
show more ...
|
#
fb2398d0 |
| 17-Jul-2015 |
Adrian Prantl <aprantl@apple.com> |
Make the clang module container format selectable from the command line. - introduces a new cc1 option -fmodule-format=[raw,obj] with 'raw' being the default - supports arbitrary module container f
Make the clang module container format selectable from the command line. - introduces a new cc1 option -fmodule-format=[raw,obj] with 'raw' being the default - supports arbitrary module container formats that libclang is agnostic to - adds the format to the module hash to avoid collisions - splits the old PCHContainerOperations into PCHContainerWriter and a PCHContainerReader.
Thanks to Richard Smith for reviewing this patch!
llvm-svn: 242499
show more ...
|
Revision tags: llvmorg-3.7.0-rc1 |
|
#
f8b5012d |
| 13-Jul-2015 |
Samuel Antao <sfantao@us.ibm.com> |
[OpenMP] Add TLS-based implementation for threadprivate directive.
llvm-svn: 242080
|
#
45be9e0d |
| 10-Jul-2015 |
Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
Add an experimental flag -fsanitize-memory-use-after-dtor.
This flag will enable detection of use-after-destructor (but before memory deallocation) bugs. No actual functionality yet.
https://code.g
Add an experimental flag -fsanitize-memory-use-after-dtor.
This flag will enable detection of use-after-destructor (but before memory deallocation) bugs. No actual functionality yet.
https://code.google.com/p/address-sanitizer/issues/detail?id=73
Patch by Naomi Musgrave.
llvm-svn: 241935
show more ...
|
#
8749d804 |
| 06-Jul-2015 |
Teresa Johnson <tejohnson@google.com> |
Resubmit "Pass down the -flto option to the -cc1 job" (r239481)
The patch is the same except for the addition of a new test for the issue that required reverting the dependent llvm commit.
--Origin
Resubmit "Pass down the -flto option to the -cc1 job" (r239481)
The patch is the same except for the addition of a new test for the issue that required reverting the dependent llvm commit.
--Original Commit Message--
Pass down the -flto option to the -cc1 job, and from there into the CodeGenOptions and onto the PassManagerBuilder. This enables gating the new EliminateAvailableExternally module pass on whether we are preparing for LTO.
If we are preparing for LTO (e.g. a -flto -c compile), the new pass is not included as we want to preserve available externally functions for possible link time inlining.
llvm-svn: 241467
show more ...
|
Revision tags: llvmorg-3.6.2 |
|
#
cd98cb73 |
| 23-Jun-2015 |
Ben Langmuir <blangmuir@apple.com> |
[Modules] Consider -fmodule-feature in module hash and when loading
Any extra features from -fmodule-feature are part of the module hash and need to get validated on load. Also print them with -mod
[Modules] Consider -fmodule-feature in module hash and when loading
Any extra features from -fmodule-feature are part of the module hash and need to get validated on load. Also print them with -module-file-info.
llvm-svn: 240433
show more ...
|
Revision tags: llvmorg-3.6.2-rc1 |
|
#
ab9db510 |
| 22-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Revert r240270 ("Fixed/added namespace ending comments using clang-tidy").
llvm-svn: 240353
|
#
69a1d8c6 |
| 22-Jun-2015 |
David Blaikie <dblaikie@gmail.com> |
Update for LLVM API change to return by InputArgList directly (rather than by pointer) from ParseArgs
llvm-svn: 240349
|
#
529ecb23 |
| 22-Jun-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Add a flag to disable the feature that permits conflicting redefinitions of internal-linkage symbols that are not visible.
Such conflicts are an accident waiting to happen, and this featur
[modules] Add a flag to disable the feature that permits conflicting redefinitions of internal-linkage symbols that are not visible.
Such conflicts are an accident waiting to happen, and this feature conflicts with the desire to include existing headers into multiple modules and merge the results. (In an ideal world, it should not be possible to export internal linkage symbols from a module, but sadly the glibc and libstdc++ headers provide 'static inline' functions in a few cases.)
llvm-svn: 240335
show more ...
|
#
3d9d929e |
| 22-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comme
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ work/llvm/tools/clang
To reduce churn, not touching namespaces spanning less than 10 lines.
llvm-svn: 240270
show more ...
|
#
6d492ad5 |
| 21-Jun-2015 |
David Blaikie <dblaikie@gmail.com> |
ArrayRef-ify ParseArgs
llvm-svn: 240237
|
#
9881b78b |
| 18-Jun-2015 |
Peter Collingbourne <peter@pcc.me.uk> |
Introduce -fsanitize-trap= flag.
This flag controls whether a given sanitizer traps upon detecting an error. It currently only supports UBSan. The existing flag -fsanitize-undefined-trap-on-error ha
Introduce -fsanitize-trap= flag.
This flag controls whether a given sanitizer traps upon detecting an error. It currently only supports UBSan. The existing flag -fsanitize-undefined-trap-on-error has been made an alias of -fsanitize-trap=undefined.
This change also cleans up some awkward behavior around the combination of -fsanitize-trap=undefined and -fsanitize=undefined. Previously we would reject command lines containing the combination of these two flags, as -fsanitize=vptr is not compatible with trapping. This required the creation of -fsanitize=undefined-trap, which excluded -fsanitize=vptr (and -fsanitize=function, but this seems like an oversight).
Now, -fsanitize=undefined is an alias for -fsanitize=undefined-trap, and if -fsanitize-trap=undefined is specified, we treat -fsanitize=vptr as an "unsupported" flag, which means that we error out if the flag is specified explicitly, but implicitly disable it if the flag was implied by -fsanitize=undefined.
Differential Revision: http://reviews.llvm.org/D10464
llvm-svn: 240105
show more ...
|
#
47972afd |
| 16-Jun-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Simplify -cc1 interface for enabling implicit module maps.
We used to have a flag to enable module maps, and two more flags to enable implicit module maps. This is all redundant; we don't
[modules] Simplify -cc1 interface for enabling implicit module maps.
We used to have a flag to enable module maps, and two more flags to enable implicit module maps. This is all redundant; we don't need any flag for enabling module maps in the abstract, and we don't usually have -fno- flags for -cc1. We now have just a single flag, -fimplicit-module-maps, that enables implicitly searching the file system for module map files and loading them.
The driver interface is unchanged for now. We should probably rename -fmodule-maps to -fimplicit-module-maps at some point.
llvm-svn: 239789
show more ...
|
#
098e6de9 |
| 13-Jun-2015 |
Eric Fiselier <eric@efcs.ca> |
Add `-verify-ignore-unexpected` option to ignore unexpected diagnostics in VerifyDiagnosticsConsumer
Summary: The goal of this patch is to make `-verify` easier to use when testing libc++. The `note
Add `-verify-ignore-unexpected` option to ignore unexpected diagnostics in VerifyDiagnosticsConsumer
Summary: The goal of this patch is to make `-verify` easier to use when testing libc++. The `notes` attached to compile error diagnostics are numerous and relatively unstable when they reference libc++ header internals. This patch allows libc++ to write stable compilation failure tests by allowing unexpected diagnostic messages to be ignored where they are not relevant.
This patch adds a new CC1 flag called `-verify-ignore-unexpected`. `-verify-ignore-unexpected` tells `VerifyDiagnosticsConsumer` to ignore *all* unexpected diagnostic messages. `-verify-ignore-unexpected=<LevelList>` can be used to only ignore certain diagnostic levels. `<LevelList>` is a comma separated list of diagnostic levels to ignore. The supported levels are `note`, `remark`, `warning` and `error`.
Reviewers: bogner, grosser, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D10138
llvm-svn: 239665
show more ...
|
#
edca6e50 |
| 12-Jun-2015 |
Teresa Johnson <tejohnson@google.com> |
Revert commit r239481 as it is dependent on reverted llvm commit r239480.
llvm-svn: 239588
|
#
2987c29a |
| 11-Jun-2015 |
Sanjay Patel <spatel@rotateright.com> |
add the -mrecip driver flag and process its options (3rd try)
The 1st and 2nd tries to land this (r238055, r238851) were reverted due to bot failures caused by the LLVM part of the patch. That was h
add the -mrecip driver flag and process its options (3rd try)
The 1st and 2nd tries to land this (r238055, r238851) were reverted due to bot failures caused by the LLVM part of the patch. That was hopefully fixed after r239001.
This is the front-end counterpart to D8982.
The -mrecip option interface is based on maintaining compatibility with gcc: https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html#index-mrecip_003dopt-1627 https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/RS_002f6000-and-PowerPC-Options.html#index-mrecip-2289
...while adding more functionality (allowing users to specify the number of refinement steps for each estimate type).
Differential Revision: http://reviews.llvm.org/D8989
llvm-svn: 239536
show more ...
|
#
88c3c679 |
| 10-Jun-2015 |
Teresa Johnson <tejohnson@google.com> |
Pass down the -flto option to the -cc1 job, and from there into the CodeGenOptions and onto the PassManagerBuilder. This enables gating the new EliminateAvailableExternally module pass on whether we
Pass down the -flto option to the -cc1 job, and from there into the CodeGenOptions and onto the PassManagerBuilder. This enables gating the new EliminateAvailableExternally module pass on whether we are preparing for LTO.
If we are preparing for LTO (e.g. a -flto -c compile), the new pass is not included as we want to preserve available externally functions for possible link time inlining.
llvm-svn: 239481
show more ...
|