aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-17Just use begin()/end() instead of "&Vector[0], &Vector[0]+Vector.size()".Argyrios Kyrtzidis
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170365 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Don't include the header outside the include guards, it defeats the purpose ↵Argyrios Kyrtzidis
of the include guards. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170364 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17[parser] Push a semi token for recovery only when it is actually missing.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170363 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17[analyzer] Tweak the NumFunctionsAnalyzed stat so that it's more useful.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170362 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17[analyzer] Implement "do not inline large functions many times"Anna Zaks
performance heuristic After inlining a function with more than 13 basic blocks 32 times, we are not going to inline it anymore. The idea is that inlining large functions leads to drastic performance implications. Since the function has already been inlined, we know that we've analyzed it in many contexts. The following metrics are used: - Large function is a function with more than 13 basic blocks (we should switch to another metric, like cyclomatic complexity) - We consider that we've inlined a function many times if it's been inlined 32 times. This number is configurable with -analyzer-config max-times-inline-large=xx This heuristic addresses a performance regression introduced with inlining on one benchmark. The analyzer on this benchmark became 60 times slower with inlining turned on. The heuristic allows us to analyze it in 24% of the time. The performance improvements on the other benchmarks I've tested with are much lower - under 10%, which is expected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170361 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Reapply r170344, this time without forgetting to commit the header changes.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170354 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Revert "Added support for new property helpers (GNUstep runtime)."Benjamin Kramer
This reverts commit r170344. Doesn't even compile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170351 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Added support for new property helpers (GNUstep runtime).David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170344 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Add basic support for splitting before function calls if it can't beDaniel Jasper
avoided. This required a minor modification of the memoization as now the "CurrentPenalty" depends on whether or not we break before the current token. Therefore, the CurrentPenalty should not be memoized but added after retrieving a value from memory. This should not affect the runtime behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170337 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17tsan: correct llvm libc++ nameDmitry Vyukov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170326 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Fix several formatting problems.Daniel Jasper
More specifically: - Improve formatting of static initializers. - Fix formatting of lines comments in enums. - Fix formmating of trailing line comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170316 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17tsan: add __has_feature(thread_sanitizer)Dmitry Vyukov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170314 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17tsan: update docsDmitry Vyukov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170311 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Clean up a small (messy) section of Clang's release notes for 3.2.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170309 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17This patch fixes PR13624, which notes a 64-bit PowerPC ELF ABIBill Schmidt
incompatibility with how complex values are returned. It is sufficient to flag all complex types as direct rather than indirect. A new test case is provided that checks correct IR generation for the various supported flavors of _Complex. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170302 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17IdentifierResolver: Remove an unnecessary include and an unused parameter.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170297 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-16Documentation: add a missing wordDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170296 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-16Clang ReleaseNotes: add information about documentation comments supportDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170294 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-16Documentation: AutomaticReferenceCounting.rst: use CSS section numbering.Dmitri Gribenko
This enables us to use the same document structure as in other files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170283 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-16Don't use SourceLineCache in getColumnNumber if LastLineNoResult is past the ↵Craig Topper
end of the cache. Fixes PR14570. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170281 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-16docs: Fix completely broken adornment structure.Sean Silva
The adornment: === Foo === is for titles, not sections. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170278 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-15Documentation: random cleanups. Use monospaced font where appropriate,Dmitri Gribenko
highlight console output with "code-block:: console", etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170276 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-15Documentation: convert InternalsManual.html to reSTDmitri Gribenko
Patch by Anastasi Voitova with with small fixes by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170275 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-15Documentation: LanguageExtensions.rst: convert link to :doc: style and fix upDmitri Gribenko
heading underline. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170272 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-15[ubsan] Emit branch weight metadata to hint towards common case.Will Dietz
Results in better block placement that helps close the performance gap when making ubsan checks recoverable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170263 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-15Docs: redirect "static analysis extensions" section to the analyzer site.Jordan Rose
The notes on the objc_method_family and ns_returns_retained-type attributes have been moved to the Objective-C section, since both are used by ARC. The notes on analyzer_noreturn are now only on the analyzer site. The inadequacy of these docs was noticed months ago by Jonathan Sauer; I'm only just now getting around to cleaning them up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170261 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-15Remove old description of analyzer internals from public docs.Jordan Rose
The file still exists in docs/analyzer/, but it won't be linked to from clang.llvm.org or processed as part of the default Sphinx doc-build. RegionStore has changed a lot from what Ted and Zhongxing describe here! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170260 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14fixed line endingsAnton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170238 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14added post-statement callback to CXXNewExpr and pre-statement callback to ↵Anton Yartsev
CXXDeleteExpr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170234 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Don't hit an assertion failure when calculating the __PRETTY_FUNCTION__Argyrios Kyrtzidis
of a member function with parenthesized declarator. Like this test case: class Foo { const char *(baz)() { return __PRETTY_FUNCTION__; } }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170233 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14[analyzer] Propagate the checker's state from checkBranchConditionAnna Zaks
Fixes a bug, where we were dropping the state modifications from the checkBranchCondition checker callback. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170232 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14[analyzer] Refactor: Store visited Decls instead of CallGraphNodes.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170231 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Style and Doc fix for CommonOptionsParserEdwin Vane
- Renaming GetCompilations() and GetSourcePathList() to follow LLVM style. - Updating docs to reflect name change. - Also updating help text to not mention clang-check since this class can be used by any tool. Reviewed By: Alexander Kornienko git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170229 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14[preprocessor] For errors at a function macro invocation, also includeArgyrios Kyrtzidis
a note about where the macro is defined. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170228 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14[CMake] Move libxml2 stuff from clang to llvm/cmake.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170225 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Don't require a space between the two ">" in "vector<id<protocol>>" in objc++11.Nico Weber
C++11 allowed writing "vector<vector<int>>" without a space between the two ">". This change allows this for protocols in template lists too in -std=c++11 mode, and improves the diagnostic in c++98 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170223 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Targets.cpp: [cygwin] Add the predefined macro "_X86_", according to newer ↵NAKAMURA Takumi
version of cygwin/w32api. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170188 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Have Sema::ActOnStartOfFunctionDef return the declaration that was passed it.Argyrios Kyrtzidis
This fixes the missing warning here: struct S { template <typename T> void meth() { char arr[3]; arr[4] = 0; // warning: array index 4 is past the end of the array } }; template <typename T> void func() { char arr[3]; arr[4] = 0; // no warning } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170180 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Remove code from Sema::ActOnStartOfFunctionTemplateDef that duplicates whatArgyrios Kyrtzidis
Sema::ActOnStartOfFunctionDef is already doing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170179 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14fix another spelloNico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170177 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14fix spelloNico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170176 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14clang/test/CodeGenCXX/lambda-expressions.cpp: Relax expression for -Asserts.NAKAMURA Takumi
"entry:" is not met in -Asserts build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170175 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Refactor dump methods to make RegionBindingsRef printable in the debugger.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170170 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14Make the test less sensitive to the inline threshold.Nadav Rotem
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170164 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Make sure the __invoke function for lambdas returns properly. Per bug ↵Eli Friedman
report on IRC> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170160 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Debug Info: Emit vtables pointer members as artificial.David Blaikie
I wasn't sure where to put the test case for this, but this seemed like as good a place as any. I had to reorder the tests here to make them legible while still matching the order of metadata output in the IR file (for some reason making it virtual changed the ordering). Relevant commit to fix up LLVM to actually respect 'artificial' member variables is coming once I write up a test case for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170154 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13[PCH] Make the new PCH format (control block) backwards compatible andArgyrios Kyrtzidis
don't crash when loading a PCH with the older format. The introduction of the control block broke compatibility with PCHs from older versions. This patch allows loading (and rejecting) PCHs from an older version and allows newer PCHs to be rejected from older clang versions as well. rdar://12821386 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170150 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Add support for current Ubuntu Quantal and the upcoming Raring.Rafael Espindola
Patch by Martin Nowack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170147 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Revert 170049 because it fails with an assertion on one of the spec2000 ↵Nadav Rotem
workloads. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170143 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13[analyzer] Fix doc error (wrong param name) in ObjCSuperCallChecker.Jordan Rose
Thanks for the -Wdocumentation catch, Dmitri! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170139 91177308-0d34-0410-b5e6-96231b3b80d8