- Feb 18, 2014
-
-
Alexey Samsonov authored
llvm-svn: 201543
-
Richard Smith authored
temporary in a decltype expression only applies if that temporary was created by a function call, not by a function-style cast or other flavour of expression. llvm-svn: 201542
-
Jiangning Liu authored
llvm-svn: 201541
-
Richard Smith authored
ExtWarn, since it's an extension. llvm-svn: 201540
-
Sean Callanan authored
<rdar://problem/16071066> llvm-svn: 201539
-
Craig Topper authored
Add an x86 prefix encoding for instructions that would decode to a different instruction with 0xf2/f3/66 were in front of them, but don't themselves have a prefix. For now this doesn't change any bbehavior, but plan to use it to fix some bugs in the disassembler. llvm-svn: 201538
-
Richard Smith authored
llvm-svn: 201537
-
Richard Smith authored
spelled in an interesting way. llvm-svn: 201536
-
Duncan P. N. Exon Smith authored
Introducing llvm-profdata, a tool for merging profile data generated by PGO instrumentation in clang. - The name indicates a file extension of <name>.profdata. Eventually profile data output by clang should be changed to that extension. - llvm-profdata merges two profiles. However, the name is more general, since it will likely pick up more tasks (such as summarizing a single profile). - llvm-profdata parses the current text-based format, but will be updated once we settle on a binary format. <rdar://problem/15949645> llvm-svn: 201535
-
- Feb 17, 2014
-
-
Marshall Clow authored
llvm-svn: 201534
-
Anders Carlsson authored
llvm-svn: 201533
-
Richard Smith authored
llvm-svn: 201532
-
Kevin Enderby authored
ldrd r6, r7 [r2, #15] simply gives an error and does not triggers an assertion. As Jim points out, the diagnostic is really strange here, but fixing that would be more complicated. The missing comma results in the parser expecting a construct like r2[2], which is the vector index thing the error message is talking about. That's not what the user intended, though, and there's nothing else in the instruction that looks at all like a vector. Yet more fallout from not having a real parser here and trying to do context-free generic matching for addressing modes. rdar://15097243 llvm-svn: 201531
-
Anders Waldenborg authored
This is implemented by handling assignments to the '.' pseudo symbol as ".org" directives. Differential Revision: http://llvm-reviews.chandlerc.com/D2625 llvm-svn: 201530
-
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. llvm-svn: 201528
-
Bob Wilson authored
llvm-svn: 201527
-
Bob Wilson authored
llvm-svn: 201526
-
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(). llvm-svn: 201525
-
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. llvm-svn: 201524
-
Deepak Panickal authored
llvm-svn: 201523
-
Deepak Panickal authored
llvm-svn: 201522
-
Deepak Panickal authored
llvm-svn: 201521
-
Adrian Prantl authored
I'm holding this change to give maintainers of Darwin buildbots more time to update their toolchains. This reverts commit r201375. llvm-svn: 201520
-
Deepak Panickal authored
Remove nativecodegen as it forces the native target libraries to be linked in regardless of whether the target was specified in LLVM_TARGETS_TO_BUILD llvm-svn: 201519
-
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. llvm-svn: 201518
-
Aaron Ballman authored
llvm-svn: 201517
-
Aaron Ballman authored
llvm-svn: 201516
-
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. llvm-svn: 201515
-
Kostya Serebryany authored
llvm-svn: 201514
-
Alexey Samsonov authored
llvm-svn: 201513
-
Patrik Hagglund authored
llvm-svn: 201512
-
Evgeniy Stepanov authored
llvm-svn: 201511
-
Evgeniy Stepanov authored
Also remove a reference to mach_override code that is long gone. llvm-svn: 201510
-
Kostya Serebryany authored
llvm-svn: 201509
-
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 llvm-svn: 201508
-
Craig Topper authored
Fix diassembler handling of rex.b when mod=00/01/10 and bbb=101. Mod=00 should ignore the base register entirely. Mod=01/10 should treat this as R13 plus displacment. Fixes PR18860. llvm-svn: 201507
-
Alexey Samsonov authored
When the locale of a shell is set other than English locales or the C locale, The word 'Target' may be translated. Thus, with e.g. ja_JP locale, compiler-rt couldn't be built properly. Forcing LANG=C fixes the problem. Patch by Ogino Masanori. llvm-svn: 201506
-
Kostya Serebryany authored
llvm-svn: 201505
-
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 { ... } llvm-svn: 201504
-
Kostya Serebryany authored
llvm-svn: 201503
-