summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [CodeView] Implement .cv_inline_linetableDavid Majnemer2016-01-299-12/+317
| | | | | | | | | | | This support is _very_ rudimentary, just enough to get some basic data into the CodeView debug section. Left to do is: - Use the combined opcodes to save space. - Do something about code offsets. llvm-svn: 259230
* Class Property: generate metadata for class properties in classes.Manman Ren2016-01-291-28/+57
| | | | | | | | | | The list of class properties is saved in Old ABI: cls->isa->ext->properties New ABI: cls->isa->ro->properties rdar://23891898 llvm-svn: 259229
* ARM: don't mangle DAG constant if it has more than one useTim Northover2016-01-292-2/+19
| | | | | | | | | | | | | | | | The basic optimisation was to convert (mul $LHS, $complex_constant) into roughly "(shl (mul $LHS, $simple_constant), $simple_amt)" when it was expected to be cheaper. The original logic checks that the mul only has one use (since we're mangling $complex_constant), but when used in even more complex addressing modes there may be an outer addition that can pick up the wrong value too. I *think* the ARM addressing-mode problem is actually unreachable at the moment, but that depends on complex assessments of the profitability of pre-increment addressing modes so I've put a real check in there instead of an assertion. llvm-svn: 259228
* Class Property: warn for synthesize on a class property.Manman Ren2016-01-293-2/+7
| | | | | | rdar://23891898 llvm-svn: 259226
* Class Property: parse @dynamic (class).Manman Ren2016-01-292-2/+29
| | | | | | rdar://23891898 llvm-svn: 259224
* [WebAssembly] Update test expectationsDerek Schuff2016-01-291-63/+1
| | | | llvm-svn: 259223
* [analyzer] Suppress null reports from defensive checks in function-like macros.Devin Coughlin2016-01-292-1/+94
| | | | | | | | | We already do this for case splits introduced as a result of defensive null checks in functions and methods, so do the same for function-like macros. rdar://problem/19640441 llvm-svn: 259222
* [analyzer] Improve Nullability checker diagnosticsAnna Zaks2016-01-296-57/+114
| | | | | | | | | - Include the position of the argument on which the nullability is violated - Differentiate between a 'method' and a 'function' in the message wording - Test for the error message text in the tests - Fix a bug with setting 'IsDirectDereference' which resulted in regular dereferences assumed to have call context. llvm-svn: 259221
* [WebAssembly] Support frame pointerDerek Schuff2016-01-294-20/+112
| | | | | | | | | Add support for frame pointer use in prolog/epilog. Supports dynamic allocas but not yet over-aligned locals. Target-independend CG generates SP updates, but we still need to write back the SP value to memory when necessary. llvm-svn: 259220
* [X86] Add missing "CHECK" colon in r259065 test.Ahmed Bougacha2016-01-291-1/+1
| | | | llvm-svn: 259219
* Revert r259210 "Extend hasType narrowing matcher for TypedefDecls, add ↵Hans Wennborg2016-01-295-132/+14
| | | | | | | | functionProtoType matcher for FunctionProtoType nodes, extend parameterCountIs to FunctionProtoType nodes." It didn't pass check-clang. llvm-svn: 259218
* [codeview] Begin to add support for inlined call sitesReid Kleckner2016-01-295-5/+342
| | | | | | | | | | | | | | | | | | | | | Summary: There are three parts to inlined call frames: 1. The inlinee line subsection 2. The inline site symbol record 3. The function ids referenced by both This change starts by emitting function ids (3) for all subprograms and emitting the base inline site symbol record (2). The actual line numbers in (2) use an encoded format that will come next, along with the inlinee line subsection. Reviewers: majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16333 llvm-svn: 259217
* Revert "fix up missing header from change r259084."Todd Fiala2016-01-291-1/+0
| | | | | | | | This change was made based on a bad signal from the Green Dragon LLDB builder. This change was not needed. Reverting out r259114. llvm-svn: 259216
* Fix the buildDavid Majnemer2016-01-291-1/+1
| | | | llvm-svn: 259215
* [clang-tidy] Don't use delegating constructors, since they are not supported ↵Alexander Kornienko2016-01-291-3/+4
| | | | | | by MSVC 2013 llvm-svn: 259214
* Temporarily revert "[ScheduleDAGInstrs::buildSchedGraph()] Handling of ↵Jonas Paulsson2016-01-294-457/+351
| | | | | | | | memory dependecies rewritten." Some buildbot failures needs to be debugged. llvm-svn: 259213
* [SLP] Fix printing of debug statement (NFC)Matthew Simpson2016-01-291-1/+1
| | | | llvm-svn: 259212
* [RS4GC] Address post-commit review on r259208 from DavidSanjoy Das2016-01-291-8/+5
| | | | | | NFC llvm-svn: 259211
* Extend hasType narrowing matcher for TypedefDecls, add functionProtoType ↵Aaron Ballman2016-01-295-14/+132
| | | | | | | | matcher for FunctionProtoType nodes, extend parameterCountIs to FunctionProtoType nodes. Patch by Richard Thomson llvm-svn: 259210
* [RS4GC] Remove unnecessary const_cast; NFCSanjoy Das2016-01-291-1/+1
| | | | | | | GCRelocateInst::getDerivedPtr already returns a non-const llvm::Value pointer. llvm-svn: 259209
* [RS4GC] Minor local cleanup to StabilizeOrder; NFCSanjoy Das2016-01-291-21/+20
| | | | | | | | | - Locally declare struct, and call it BaseDerivedPair - Use a lambda to compare, instead of a singleton with uninitialized fields - Add a constructor to BaseDerivedPair and use SmallVector::emplace_back llvm-svn: 259208
* [CodeView] Fix dumping the is_stmt bit from the line tableReid Kleckner2016-01-296-45/+45
| | | | | | Bug pointed out by George Rimar. llvm-svn: 259205
* [RS4GC] Remove unnecessary redirections from tests; NFCSanjoy Das2016-01-293-3/+3
| | | | llvm-svn: 259204
* [RS4GC] Add some missing tests and CHECK: linesSanjoy Das2016-01-292-2/+159
| | | | | | I missed porting these in rL259129. llvm-svn: 259203
* [mips] Absolute value macro expansionZoran Jovanovic2016-01-293-0/+37
| | | | | | | | Author: obucina Reviewers: dsanders Differential Revision: http://reviews.llvm.org/D16323 llvm-svn: 259202
* [ScheduleDAGInstrs::buildSchedGraph()] Handling of memory dependecies rewritten.Jonas Paulsson2016-01-294-351/+457
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The buildSchedGraph() was in need of reworking as the AA features had been added on top of earlier code. It was very difficult to understand, and buggy. There had been found cases where scheduling dependencies had actually been missed (see r228686). AliasChain, RejectMemNodes, adjustChainDeps() and iterateChainSucc() have been removed. There are instead now just the four maps from Value to SUs, which have been renamed to Stores, Loads, NonAliasStores and NonAliasLoads. An unknown store used to become the AliasChain, but now becomes a store mapped to 'unknownValue' (in Stores). What used to be PendingLoads is instead the list of SUs mapped to 'unknownValue' in Loads. RejectMemNodes and adjustChainDeps() used to be a safety-net for everything. The SU maps were sometimes cleared and SUs were put in RejectMemNodes, where adjustChainDeps() would look. Instead of this, a more straight forward approach is used in maintaining the SU maps without clearing them and simply letting them grow over time. Instead of the cutt-off in adjustChainDeps() search, a reduction of maps will be done if needed (see below). Each SUnit either becomes the BarrierChain, or is put into one of the maps. For each SUnit encountered, all the information about previous ones are still available until a new BarrierChain is set, at which point the maps are cleared. For huge regions, the algorithm becomes slow, therefore the maps will get reduced at a threshold (current default is 1000 nodes), by a fraction (default 1/2). These values can be tuned by use of CL options in case some test case shows that they need to be changed (-dag-maps-huge-region and -dag-maps-reduction-size). There has not been any considerable change observed in output quality or compile time. There may now be more DAG edges inserted than before (i.e. if A->B->C, then A->C is not needed). However, in a comparison run there were fewer total calls to AA, and a somewhat improved compile time, which means this seems to be not a problem. http://reviews.llvm.org/D8705 Reviewers: Hal Finkel, Andy Trick. llvm-svn: 259201
* [clang-tidy] ForRangeCopyCheck that warns on and fixes unnecessary copies of ↵Alexander Kornienko2016-01-299-5/+525
| | | | | | | | | | loop variables. Patch by Felix Berger! Differential revision: http://reviews.llvm.org/D13849 llvm-svn: 259199
* [clang-tidy] Fix minor style issues. NFCAlexander Kornienko2016-01-292-9/+8
| | | | llvm-svn: 259198
* Fixed function params comparison. Updated docs and tests.Alexander Kornienko2016-01-294-39/+48
| | | | | | | | | | | | | | Summary: "checkParamTypes" may fail if the the type of some parameter is not canonical. Fixed it by comparing canonical types. And added "getCanonicalType()" and "getCanonicalDecl()" on more places to prevent potential fail. Reviewers: alexfh Subscribers: cfe-commits Patch by Cong Liu! Differential Revision: http://reviews.llvm.org/D16587 llvm-svn: 259197
* [clang-tidy] Fix style issues. NFCAlexander Kornienko2016-01-292-10/+6
| | | | llvm-svn: 259196
* [clang-tidy] Move implicit-cast-in-loop check to upstream.Alexander Kornienko2016-01-297-0/+328
| | | | | | | | | | | | | | Summary: This is implemented originally by Alex Pilkiewicz (pilki@google.com). Reviewers: alexfh Subscribers: cfe-commits Patch by Haojian Wu! Differential Revision: http://reviews.llvm.org/D16721 llvm-svn: 259195
* Removing unnecessary casts; NFC.Aaron Ballman2016-01-291-2/+2
| | | | llvm-svn: 259194
* [libcxx] Whitelist inclusion of sysctl.h instead of blacklistingBen Craig2016-01-291-3/+8
| | | | | | | | | | | Instead of excluding all known operating systems that are not derived from BSD, I now include all operating systems that claim to be derived from BSD. Hopefully, that will make it so that this check doesn't need to change for every new operating system that comes along. http://reviews.llvm.org/D16634 llvm-svn: 259193
* Implement TemplateArgument::dump() method for debugging, patterned after ↵Yaron Keren2016-01-292-0/+15
| | | | | | TemplateName::dump(). llvm-svn: 259192
* [IR] Move definitions of users of Use::set to Value.hBenjamin Kramer2016-01-292-8/+12
| | | | | | Still ugly, but at least Use.h is self-contained again. llvm-svn: 259191
* [IR] Shuffle the code for getSequentialElementType to type.h to avoid ↵Benjamin Kramer2016-01-292-6/+9
| | | | | | circular header dependencies. llvm-svn: 259190
* Fix crash in lldb-mi when stack variable name is nullptr. This always ↵Eugene Leviant2016-01-293-1/+34
| | | | | | happens when execution stops in try scope with unnamed catch clause llvm-svn: 259189
* Fix linking of lldb-server with BUILD_SHARED_LIBSPavel Labath2016-01-291-16/+11
| | | | | | | | | | | | | | | | | | | | Summary: The BUILD_SHARED_LIBS branch of lldb-server link flags was hopelessly broken, at least since we started restricting the symbols exported by liblldb. lldb-server depends on symbols from the lldb_private namespace, so it cannot link to the public interface of liblldb. Instead I make it link to the individual libraries constituting liblldb, just like it does in the !BUILD_SHARED_LIBS case. This does not make the BUILD_SHARED_LIBS build of lldb fully functional yet, due to the way liblldb dependencies are managed, but it's a step in that direction. Reviewers: zturner, tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D16678 llvm-svn: 259188
* Add an optional ToolName argument to ↵Benjamin Kramer2016-01-293-12/+19
| | | | | | | | | | runToolOnCodeWithArgs/buildASTFromCodeWithArgs. This can be used as a way to modify argv[0] for a clang tool. Differential Revision: http://reviews.llvm.org/D16718 llvm-svn: 259187
* Replace StringRef with std::string in LinkerDriver::addLibrary(StringRef ↵George Rimar2016-01-291-1/+1
| | | | | | | | Name) because std::string is destroyed after assigning what fills the buffer with garbage and StringRef is no more valid. That fixes few failing tests under windows+msvs2015(debug). llvm-svn: 259186
* Ignore breakpoints by default in SBFrame::EvaluateExpressionEugene Leviant2016-01-291-0/+3
| | | | llvm-svn: 259185
* Add target triple to CodeGenOpenCL/pipe_types.cl test caseUlrich Weigand2016-01-291-1/+1
| | | | | | | | | The test is failing on SystemZ since different IR is being generated due to platform ABI differences. Add a target triple. Fix suggested by Anastasia Stulova. llvm-svn: 259183
* [ARM] Emit trap instruction using .inst directiveAlexandros Lamprineas2016-01-293-26/+54
| | | | | | | | | | The trap instruction is emitted as a data-in-text rather than an instruction. This patch uses the .inst directive for emitting trap. Differential Revision: http://reviews.llvm.org/D16684 llvm-svn: 259182
* [RenderScript] Remove unused RS commandEwan Crawford2016-01-292-55/+2
| | | | | | | | | | Patch deletes the 'language renderscript module probe' command. This command was present in the initial commit to help debug the plugin. However we haven't used it recently and it's functionality is unclear, so can be removed entirely. Also add back 'kernel coordinate' command, removed by accident in clang format patch r259056. llvm-svn: 259181
* AMDGPU: Remove 24-bit intrinsicsMatt Arsenault2016-01-2912-163/+5
| | | | | | | The known bit matching code seems to work reasonably well, so these shouldn't really be needed. llvm-svn: 259180
* Minor bugfix in AAResults::getModRefInfo.George Burgess IV2016-01-291-3/+3
| | | | | | | | | | | | Also removed a few redundant `else`s. Bug was found by a test I wrote for MemorySSA (in review at http://reviews.llvm.org/D7864; shiny update coming soon). So, assuming that lands at some point, this should be covered by that. If anyone feels this deserves its own explicit test case, please let me know. I'll write one. llvm-svn: 259179
* Refactor common code for PPC fast isel load immediate selection.Eric Christopher2016-01-291-9/+5
| | | | llvm-svn: 259178
* Since LI/LIS sign extend the constant passed into the instruction we shouldEric Christopher2016-01-292-2/+12
| | | | | | | | | check that the sign extended constant fits into 16-bits if we want a zero extended value, otherwise go ahead and put it together piecemeal. Fixes PR26356. llvm-svn: 259177
* Fix up conditional formatting.Eric Christopher2016-01-291-5/+4
| | | | llvm-svn: 259176
* [llvm-bcanalyzer] Dump bitcode wrapper headerAkira Hatanaka2016-01-295-19/+47
| | | | | | | | | | This patch enables llvm-bcanalyzer to print the bitcode wrapper header if the file has one, which is needed to test the changes made in r258627 (bitcode-wrapper-header-armv7m.ll is the test case for r258627). Differential Revision: http://reviews.llvm.org/D16642 llvm-svn: 259162
OpenPOWER on IntegriCloud