- Aug 10, 2015
-
-
Nick Lewycky authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244490 91177308-0d34-0410-b5e6-96231b3b80d8
-
Mark Heffernan authored
This change adds the new unroll metadata "llvm.loop.unroll.enable" which directs the optimizer to unroll a loop fully if the trip count is known at compile time, and unroll partially if the trip count is not known at compile time. This differs from "llvm.loop.unroll.full" which explicitly does not unroll a loop if the trip count is not known at compile time With this change "#pragma unroll" generates "llvm.loop.unroll.enable" rather than "llvm.loop.unroll.full" metadata. This changes the semantics of "#pragma unroll" slightly to mean "unroll aggressively (fully or partially)" rather than "unroll fully or not at all". The motivating example for this change was some internal code with a loop marked with "#pragma unroll" which only sometimes had a compile-time trip count depending on template magic. When the trip count was a compile-time constant, everything works as expected and the loop is fully unrolled. However, when the trip count was not a compile-time constant the "#pragma unroll" explicitly disabled unrolling of the loop(!). Removing "#pragma unroll" caused the loop to be unrolled partially which was desirable from a performance perspective. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244467 91177308-0d34-0410-b5e6-96231b3b80d8
-
Roman Kashitsyn authored
Summary: Add brace style `BS_WebKit` as described on https://www.webkit.org/coding/coding-style.html: * Function definitions: place each brace on its own line. * Other braces: place the open brace on the line preceding the code block; place the close brace on its own line. Set brace style used in `getWebKitStyle()` to the newly added `BS_WebKit`. Reviewers: djasper, klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D11837 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244446 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 05, 2015
-
-
Diego Novillo authored
This patch adds flags -fno-profile-instr-generate and -fno-profile-instr-use, and the GCC aliases -fno-profile-generate and -fno-profile-use. These flags are used in situations where users need to disable profile generation or use for specific files in a build, without affecting other files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244153 91177308-0d34-0410-b5e6-96231b3b80d8
-
James Y Knight authored
Support for emitting libcalls for __atomic_fetch_nand and __atomic_{add,sub,and,or,xor,nand}_fetch was missing; add it, and some test cases. Differential Revision: http://reviews.llvm.org/D10847 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244063 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Add AST matchers for narrowing constructors that are default, copy, or move constructors, as well as functionality to determine whether a ctor initializer is a base initializer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244036 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tanya Lattner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244000 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 03, 2015
-
-
Douglas Katzman authored
(Because, hey, who wouldn't?) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243901 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 31, 2015
-
-
Kostya Serebryany authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243793 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 28, 2015
-
-
Chih-Hung Hsieh authored
This will be used for old targets like Android that do not support ELF TLS models. Differential Revision: http://reviews.llvm.org/D10524 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243441 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 24, 2015
-
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243107 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 23, 2015
-
-
Aaron Ballman authored
Updating the documentation for the hasAttr AST matcher, which behaves somewhat differently when used within clang-query. Fixes PR24217. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243029 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 22, 2015
-
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242927 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242915 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 17, 2015
-
-
James Dennett authored
Summary: This corresponds to the change made in r237417 - "Doxygen: Enable autobrief feature and update coding standards." Reviewers: eliben Subscribers: eliben, cfe-commits Differential Revision: http://reviews.llvm.org/D11281 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242485 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 15, 2015
-
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242303 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
We now use the sanitizer special case list to decide which types to blacklist. We also support a special blacklist entry for types with a uuid attribute, which are generally COM types whose virtual tables are defined externally. Differential Revision: http://reviews.llvm.org/D11096 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242286 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242240 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
The notes for 3.7 are on the 3.7 branch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242238 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 13, 2015
-
-
Mark Heffernan authored
This change updates the documentation for the loop unrolling pragma behavior change in r242047. Specifically, with that change "#pragma unroll" will not unroll loops with a runtime trip count. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242048 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 12, 2015
-
-
Birunthan Mohanathas authored
Differential Revision: http://reviews.llvm.org/D10883 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241986 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 09, 2015
-
-
Diego Novillo authored
This patch adds support for specifying where the profile is emitted in a way similar to GCC. These flags are used to specify directories instead of filenames. When -fprofile-generate=DIR is used, the compiler will generate code to write to <DIR>/default.profraw. The patch also adds a couple of extensions: LLVM_PROFILE_FILE can still be used to override the directory and file name to use and -fprofile-use accepts both directories and filenames. To simplify the set of flags used in the backend, all the flags get canonicalized to -fprofile-instr-{generate,use} when passed to the backend. The decision to use a default name for the profile is done in the driver. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241825 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 08, 2015
-
-
Adrian Prantl authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241690 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 06, 2015
-
-
Douglas Katzman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241451 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 03, 2015
-
-
Birunthan Mohanathas authored
The MacroBlockBegin and MacroBlockEnd options make matching macro identifiers behave like '{' and '}', respectively, in terms of indentation. Mozilla code, for example, uses several macros that begin and end a scope. Previously, Clang-Format removed the indentation resulting in: MACRO_BEGIN(...) MACRO_ENTRY(...) MACRO_ENTRY(...) MACRO_END Now, using the options MacroBlockBegin: "^[A-Z_]+_BEGIN$" MacroBlockEnd: "^[A-Z_]+_END$" will yield the expected result: MACRO_BEGIN(...) MACRO_ENTRY(...) MACRO_ENTRY(...) MACRO_END Differential Revision: http://reviews.llvm.org/D10840 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241363 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Bogner authored
The Job base class was removed in r241310, so replace a couple of references to it with Command. Also change another use of Job with Action, since that's the term used in the source. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241327 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 02, 2015
-
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241256 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 30, 2015
-
-
Andrew Wilkins authored
Summary: This diff introduces .rst files, Sphinx config, and a CMake target for building clang man pages. This will deprecate the existing .pod- based man page, and will integrate nicely with CMake. This diff does not remove the existing man page; that will be done in a follow-up once packagers have had a chance to react to the change. For now, only clang(1) has been done; others can be added over time by dropping additional files into the docs/CommandGuide directory. The index page for CommandGuide has been copied from LLVM's docs/CommandGuide. The man page itself is mostly the same, with a few minor cosmetic changes. The only major change is the SYNOPSIS section. I was unable to get .rst/Sphinx produce the same style as in the existing man page. Instead, I changed it to match the LLVM tools' relatively simple style. To build the man pages, use the "docs-clang-man" target if building with CMake. Otherwise, use "make -f Makefile.sphinx man". Reviewers: cmatthews, silvas Subscribers: dim, gaeke, beanz, cfe-commits Differential Revision: http://reviews.llvm.org/D10562 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241037 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 29, 2015
-
-
Birunthan Mohanathas authored
Differential Revision: http://reviews.llvm.org/D10774 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240959 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 27, 2015
-
-
Alex Denisov authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240888 91177308-0d34-0410-b5e6-96231b3b80d8
-
Birunthan Mohanathas authored
This is a comment-only change to test commit access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240879 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 26, 2015
-
-
Alex Denisov authored
Patch extends ObjCBoxedExpr to accept records (structs and unions): typedef struct __attribute__((objc_boxable)) _Color { int r, g, b; } Color; Color color; NSValue *boxedColor = @(color); // [NSValue valueWithBytes:&color objCType:@encode(Color)]; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240761 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anna Zaks authored
- Added the description of the interceptor suppression. - Re-organized a bit: grouped a few things under the Issue Suppression section, grouped IOC and leaks under a section, placed symbolication info into Symbolizing the Reports section.. - In supported platforms: "MacOS" -> "OS X"; added "iOS Simulator" - Added a paragraph to the Usage section describing when DYLD_INSERT_LIBRARIES might need to be used. - "attribute((no_sanitize_address))" -> "__attribute__((no_sanitize("address")))" - Updated Leak Sanitizer page with most up to date info. .... http://reviews.llvm.org/D10559 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240725 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 25, 2015
-
-
Peter Collingbourne authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240696 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 24, 2015
-
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240536 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
This patch makes the following improvements to the SafeStack documentation: Explicitly states the security guarantees of the SafeStack Clarifies which of the security guarantees are probabilistic Re-orders security limitations to put the most severe ones first Explains how `__attribute__((no_sanitize("safe-stack")))` works and how to use it safely Explains that SafeStack should be combined with a forward-edge protection mechanism, such as CPI, IFCC or others Multiple readability and stylistic improvements Patch by Volodymyr Kuznetsov! Differential Revision: http://reviews.llvm.org/D10598 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240472 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 23, 2015
-
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240430 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
AttributeReference.rst is automatically generated by a server-side process currently. To cut down on accidental commits to this file that are not properly reflected in AttrDocs.td (such as r215806 - r215808), this file now contains nothing but a comment explaining the current state of affairs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240428 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 22, 2015
-
-
Douglas Gregor authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240296 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 19, 2015
-
-
Alexey Samsonov authored
Summary: This is unfortunate, but would let us land http://reviews.llvm.org/D10467, that makes ToolChains responsible for computing the set of sanitizers they support. Unfortunately, Darwin ToolChains doesn't know about actual OS they target until ToolChain::TranslateArgs() is called. In particular, it means we won't be able to construct SanitizerArgs for these ToolChains before that. This change removes SanitizerArgs::needsLTO() method, so that now ToolChain::IsUsingLTO(), which is called very early, doesn't need SanitizerArgs to implement this method. Docs and test cases are updated accordingly. See https://llvm.org/bugs/show_bug.cgi?id=23539, which describes why we start all these. Test Plan: regression test suite Reviewers: pcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10560 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240170 91177308-0d34-0410-b5e6-96231b3b80d8
-