- Feb 18, 2014
-
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201537 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
spelled in an interesting way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201536 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 17, 2014
-
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201532 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
Previously, we made one traversal of the AST prior to codegen to assign counters to the ASTs and then propagated the count values during codegen. This patch now adds a separate AST traversal prior to codegen for the -fprofile-instr-use option to propagate the count values. The counts are then saved in a map from which they can be retrieved during codegen. This new approach has several advantages: 1. It gets rid of a lot of extra PGO-related code that had previously been added to codegen. 2. It fixes a serious bug. My original implementation (which was mailed to the list but never committed) used 3 counters for every loop. Justin improved it to move 2 of those counters into the less-frequently executed breaks and continues, but that turned out to produce wrong count values in some cases. The solution requires visiting a loop body before the condition so that the count for the condition properly includes the break and continue counts. Changing codegen to visit a loop body first would be a fairly invasive change, but with a separate AST traversal, it is easy to control the order of traversal. I've added a testcase (provided by Justin) to make sure this works correctly. 3. It improves the instrumentation overhead, reducing the number of counters for a loop from 3 to 1. We no longer need dedicated counters for breaks and continues, since we can just use the propagated count values when visiting breaks and continues. To make this work, I needed to make a change to the way we count case statements, going back to my original approach of not including the fall-through in the counter values. This was necessary because there isn't always an AST node that can be used to record the fall-through count. Now case statements are handled the same as default statements, with the fall-through paths branching over the counter increments. While I was at it, I also went back to using this approach for do-loops -- omitting the fall-through count into the loop body simplifies some of the calculations and make them behave the same as other loops. Whenever we start using this instrumentation for coverage, we'll need to add the fall-through counts into the counter values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201528 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201527 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201526 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anton Yartsev authored
This implements FIXME from Checker.cpp (FIXME: We want to return the package + name of the checker here.) and replaces hardcoded checker names with the new ones obtained via getCheckName().getName(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201525 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Forcing it to be an error when there is no Documentation list specified for an attribute. This is a bit of a (harmless) hack, but the FIXME explains why and when this hack can be removed. It's a justified hack because this prevents attribute authors from forgetting to add documentation when they add a new attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201524 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
I'm holding this change to give maintainers of Darwin buildbots more time to update their toolchains. This reverts commit r201375. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201520 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
The default assignment operator could not be generated by all of the bots, but it's required by std::vector to operate properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201518 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201517 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201516 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Implements a declarative approach to documenting individual attributes in Clang via a Documentation tablegen class. Also updates the internals manual with information about how to use this new, required, documentation feature. This patch adds some very, very sparse initial documentation for some attributes. Additional effort from attribute authors is greatly appreciated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201515 91177308-0d34-0410-b5e6-96231b3b80d8
-
Patrik Hagglund authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201512 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
We later emit a proper error in the situations where this would trigger, so there's no need to check. rdar://problem/16040604 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201508 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
Generally people seem to prefer wrapping the first function parameter over wrapping the trailing tokens "const", "override" and "final". This does not extend to function-like annotations and probably not to other non-standard annotations. Before: void someLongFunction(int SomeLongParameter) const { ... } After: void someLongFunction( int SomeLongParameter) const { ... } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201504 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 16, 2014
-
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201485 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201484 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
check-clang: Introduce the feature "dw2" to suppress CodeGenCXX/debug-info-namespace.cpp with *-win32. FIXME: Could we add itanium triple here? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201483 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201482 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201480 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201478 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201477 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201476 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201475 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 15, 2014
-
-
David Blaikie authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201470 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
inside a GNU statement expression. rdar://16064952 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201468 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
1. CHECK-NOT-LABEL is not valid FileCheck. 2. This test would not trigger the CHECK-NOT-LABEL even if 'interface' is replaced with 'struct'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201462 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201458 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manman Ren authored
When a function has a single counter, we will offset the pointer by 1 when parsing the next function. If a function has multiple counters, we are okay after skipping rest of the counters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201456 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Some lines intended to be used for testing x86_64 ABI compatibility were not firing because lines were annotated with the wrong FileCheck prefix: X64 vs 64 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201454 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Some lines intended to be used for testing x86_64 ABI compatibility were not firing because lines were annotated with the wrong FileCheck prefix: X64 vs C64 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201453 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201452 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201449 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
WG21 is about to vote on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201448 91177308-0d34-0410-b5e6-96231b3b80d8
-
Fariborz Jahanian authored
mismatches the one declared in current class; in addition to those that are directly overridden. // rdar://15967517 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201446 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 14, 2014
-
-
Richard Smith authored
C++11 mode. Continue to disallow return type deduction in C++11 for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201438 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
For some reason we have two bits of code handling this printing: lib/AST/Decl.cpp: OS << "<anonymous namespace>"; lib/AST/TypePrinter.cpp: OS << "<anonymous namespace>::"; it would be nice if we only had one... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201437 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201436 91177308-0d34-0410-b5e6-96231b3b80d8
-
Fariborz Jahanian authored
properties by fixing shouldBindAsLValue to accept arrays (like record types) because we always manipulate them in memory. Patch suggested by John MaCall. // rdar://15610943 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201428 91177308-0d34-0410-b5e6-96231b3b80d8
-