summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect quote. NFCPete Cooper2015-12-041-1/+1
| | | | llvm-svn: 254775
* [llc/opt] Add an option to run all passes twiceKeno Fischer2015-12-044-9/+111
| | | | | | | | | | | | | | | | | | | | Summary: Lately, I have submitted a number of patches to fix bugs that only occurred when using the same pass manager to compile multiple modules (generally these bugs are failure to reset some persistent state). Unfortunately I don't think there is currently a way to test that from the command line. This adds a very simple flag to both llc and opt, under which the tools will simply re-run their respective pass pipelines using the same pass manager on (a clone of the same module). Additionally, we verify that both outputs are bitwise the same. Reviewers: yaron.keren Subscribers: loladiro, yaron.keren, kcc, llvm-commits Differential Revision: http://reviews.llvm.org/D14965 llvm-svn: 254774
* [AArch64] Expand vector SDIVREM/UDIVREM operations.Chad Rosier2015-12-042-0/+26
| | | | | | | http://reviews.llvm.org/D15214 Patch by Ana Pazos <apazos@codeaurora.org>! llvm-svn: 254773
* [llvm-dwp] Remove some out of date commentsDavid Blaikie2015-12-041-2/+0
| | | | llvm-svn: 254772
* [Docs] Move the list of CFI schemes down to CFI doc, and update it.Alexey Samsonov2015-12-042-31/+48
| | | | | | | | | | | | | Use proper headling levels in CFI doc. Before that, all sections were considered a subsection of "Introduction". Reviewers: pcc, kcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15237 llvm-svn: 254771
* [llvm-dwp] Implement the required on-disk probed hash tableDavid Blaikie2015-12-042-7/+18
| | | | llvm-svn: 254770
* Fix llvm-readobj build on Windows, match noreturn attribute on reportError ↵Reid Kleckner2015-12-041-1/+2
| | | | | | in headers llvm-svn: 254769
* Fix typo in a commentKamil Rytarowski2015-12-041-1/+1
| | | | llvm-svn: 254768
* [llvm-dwp] Include the debug_line.dwo sectionDavid Blaikie2015-12-042-3/+4
| | | | | | | | | | | | This probably shouldn't be generated in the .dwo file for CUs, only for TUs, but it's in the sample .dwos (generated by clang) so dwp should reflect that. Arguably the DWP tool could be smart enough to know that the CUs shouldn't need a debug_line.dwo section and skip that even when it's legitimately generated for TUs, but that's a bit more off-book. llvm-svn: 254767
* clang-tidy readability identifiers: better diagnostic locationMike Aizatsky2015-12-042-50/+50
| | | | | | | | | | | | Summary: With this change the error reported is on the identifier location itself. It was declaration location before. Reviewers: alexfh Differential Revision: http://reviews.llvm.org/D15203 llvm-svn: 254766
* [OperandBundles] Allow operand-specific attributes in operand bundlesSanjoy Das2015-12-042-14/+28
| | | | | | | | | | | | | Currently `OperandBundleUse::operandsHaveAttr` computes its result without being given a specific operand. This is problematic because it forces us to say that, e.g., even non-pointer operands in `"deopt"` operand bundles are `readonly`, which doesn't make sense. This commit changes `operandsHaveAttr` to work in the context of a specific operand, so that we can give the operand attributes that make sense for the operands's `llvm::Type`. llvm-svn: 254764
* Add documentation for SBTarget::CreateValueFromAddress.Jim Ingham2015-12-041-0/+18
| | | | llvm-svn: 254763
* Cache the incremental iterators as you traverse the list, so that you don't ↵Enrico Granata2015-12-041-64/+79
| | | | | | | | | | have to keep recomputing them If memory turns out to be a problem, which I don't think it will in practice because all these ValueObjects, we'd be keeping alive anyway, I can always resort to caching the farthest-most iterator only This gains us an order of magnitude in my benchmark, cutting the time to traverse a 1500-elements list from 22 seconds down to 2 llvm-svn: 254762
* Move macro defs closer (NFC)Xinliang David Li2015-12-041-4/+5
| | | | llvm-svn: 254761
* [LegacyPassManager] Reduce memory usage for AnalysisUsagePhilip Reames2015-12-042-9/+59
| | | | | | | | | | The LegacyPassManager was storing an instance of AnalysisUsage for each instance of each pass. In practice, most instances of a single pass class share the same dependencies. We can't rely on this because passes can (and some do) have dynamic dependencies based on instance options. We can exploit the likely commonality by uniqueing the usage information after querying the pass, but before storing it into the pass manager. This greatly reduces memory consumption by the AnalysisUsage objects. For a long pass pipeline, I measured a decrease in memory consumption for this storage of about 50%. I have not measured on the default O3 pipeline, but I suspect it will see some benefit as well since many passes are repeated (e.g. InstCombine). Differential Revision: http://reviews.llvm.org/D14677 llvm-svn: 254760
* ScheduleDAGInstrs: Move LiveIntervals field to ScheduleDAGMIMatthias Braun2015-12-043-13/+9
| | | | | | | Now that ScheduleDAGInstrs doesn't need it anymore we can move the field down the class hierarcy to ScheduleDAGMI. llvm-svn: 254759
* Fix an issue where all tests marked with skip_if_callable would be skipped ↵Enrico Granata2015-12-041-4/+5
| | | | | | regardless of the actual callable llvm-svn: 254758
* Improve the std::list data formatter to not need to calculate indices for ↵Enrico Granata2015-12-041-3/+6
| | | | | | | | every loop iteration This saves about 5 seconds on a 1500 elements list from my local estimates llvm-svn: 254757
* Backing out 254635 until I have a good workaround and test case.John Thompson2015-12-041-1/+1
| | | | llvm-svn: 254756
* Add a benchmark that validates how much time LLDB spends trying to fully ↵Enrico Granata2015-12-043-0/+75
| | | | | | | | print a fairly large std::list<T> This is meant to help me track optimizations to the libc++ std::list data formatter llvm-svn: 254755
* Small follow-up to 254750 to get the test added there passing...Nico Weber2015-12-041-5/+5
| | | | llvm-svn: 254754
* Fix breakpoint language filtering for other C variants (like C99) and Pascal.Dawn Perchik2015-12-043-11/+23
| | | | | | | | | | | | | | | This patch fixes setting breakpoints on symbol for variants of C and Pascal where the language is "unknown" within the filter-by-language process added in r252356. It also renames GetLanguageForSymbolByName to GuessLanguageForSymbolByName and adds comments explaining the pitfalls of the flawed assumption that the language can be determined solely from the name and target. Reviewed by: jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15175 llvm-svn: 254753
* [llvm-readobj] reportError() never returns. Mark with the correct attribute.Davide Italiano2015-12-041-1/+1
| | | | llvm-svn: 254752
* [llvm-readobj/ELF] Simplify Verdef handling.Davide Italiano2015-12-041-7/+1
| | | | llvm-svn: 254751
* Fix debug info for Objective-C properties from class extensions after r251874Nico Weber2015-12-042-1/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After r251874, properties from class extensions no longer show up in ObjCInterfaceDecl::properties(). Make debug info emission explicitly look for properties in class extensions before looking at direct properties. Also add a test that checks for this. There are three interesting cases: 1. A property is only declared in a class extension, and the @implementation is in a different file. This used to generated a DIObjcProperty before r251874 and does again with this fix. 2. A property is declared as readonly in the class itself and redeclared as readwrite in a class extension. clang before r251874 put the DIObjcProperty on the first declaration. clang after r251874 didn't emit any DIObjcProperty, and clang with this fix puts it on the readwrite redeclaration (which is what lookup finds). This seems like a progression. 3. Like 2, but with an @implementation in the same file. In this case, the property debug info gets generated a second time through the ivar from the definition. In this case, lookup and declaration code need to agree on the line number so that the DIObjcProperty isn't emitted twice. In this case, clang before r251874 emitted one DIObjcProperty on the first declaration, clang with r251874 emitted one on the second declaration, and clang with this patch still does the latter. llvm-svn: 254750
* fixing MakefileMike Aizatsky2015-12-041-1/+2
| | | | llvm-svn: 254749
* Marked TestModulesInlineFunctions.py XFAILTodd Fiala2015-12-041-0/+1
| | | | | | | Tracked here: https://llvm.org/bugs/show_bug.cgi?id=25743 llvm-svn: 254746
* adding MC dependencies in hopes to pacify the hexagon build.Mike Aizatsky2015-12-041-0/+2
| | | | llvm-svn: 254745
* Fix test error in TestObjCCheckers.pyTodd Fiala2015-12-041-1/+1
| | | | llvm-svn: 254744
* Fill in the generic register kind if in AugmentRegisterInfoViaABI if it is ↵Greg Clayton2015-12-041-4/+9
| | | | | | available. llvm-svn: 254743
* sancov -not-covered-functions.Mike Aizatsky2015-12-044-94/+317
| | | | | | | | | | | | Summary: The command prints out list of functions that were not entered. To do this, addresses are first converted to function locations. Set operations are used for function locations. Differential Revision: http://reviews.llvm.org/D14889 review llvm-svn: 254742
* [WebAssembly] Add several more calling conventions to the supported list.Dan Gohman2015-12-041-2/+7
| | | | llvm-svn: 254741
* don't repeat function names in comments; NFCSanjay Patel2015-12-041-24/+21
| | | | llvm-svn: 254740
* fix formatting; NFCSanjay Patel2015-12-041-25/+18
| | | | llvm-svn: 254739
* [libsanitizer] Fix bugs and wiki links to point to GitHub.Alexander Potapenko2015-12-047-146/+146
| | | | llvm-svn: 254738
* [CXX TLS calling convention] Add CXX TLS calling convention.Manman Ren2015-12-049-0/+98
| | | | | | | | | | | | | | | | | | | | | This commit adds a new target-independent calling convention for C++ TLS access functions. It aims to minimize overhead in the caller by perserving as many registers as possible. The target-specific implementation for X86-64 is defined as following: Arguments are passed as for the default C calling convention The same applies for the return value(s) The callee preserves all GPRs - except RAX and RDI The access function makes C-style TLS function calls in the entry and exit block, C-style TLS functions save a lot more registers than normal calls. The added calling convention ties into the existing implementation of the C-style TLS functions, so we can't simply use existing calling conventions such as preserve_mostcc. rdar://9001553 llvm-svn: 254737
* [TSan] Fix the wikipage link.Alexander Potapenko2015-12-041-1/+1
| | | | llvm-svn: 254736
* [ASan] Fix the links to bugs and wikipages.Alexander Potapenko2015-12-0410-16/+15
| | | | llvm-svn: 254735
* [Docs] Remove false claim: UBSan can also be combined with TSan/MSan.Alexey Samsonov2015-12-041-2/+1
| | | | llvm-svn: 254734
* Clang documentation for UBSan.Alexey Samsonov2015-12-043-61/+211
| | | | | | | | | | | | | | | | | | | | | | Summary: Create a separate page describing UBSan tool, move the description of fine-grained checks there, provide extra information about supported platforms, symbolization etc. This text is compiled from four parts: * Existing documentation copied from User's Manual * Layout used in documentation for another sanitizers (ASan, MSan etc.) * Text written from scratch * Small parts taken from Michael Morrison's attempt at creating UBSan page: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20141215/249503.html Reviewers: kcc, rsmith, silvas Subscribers: tberghammer, danalbert, srhines, kcc Differential Revision: http://reviews.llvm.org/D15217 llvm-svn: 254733
* [ASan] Change the links in asa_flags.inc to point to GitHub.Alexander Potapenko2015-12-041-4/+4
| | | | llvm-svn: 254732
* [llvm-dwp] Retrieve the DWOID from the CU for the cu_index entryDavid Blaikie2015-12-044-6/+76
| | | | llvm-svn: 254731
* [WebAssembly] Give names to the callseq begin and end instructions.Dan Gohman2015-12-041-4/+4
| | | | llvm-svn: 254730
* [WebAssembly] clang-format CallingConvSupported. NFC.Dan Gohman2015-12-041-4/+2
| | | | llvm-svn: 254729
* [WebAssembly] Factor out the list of supported calling conventions.Dan Gohman2015-12-041-4/+13
| | | | llvm-svn: 254728
* [WebAssembly] Check for more unsupported ABI flags.Dan Gohman2015-12-041-1/+26
| | | | llvm-svn: 254727
* [WebAssembly] Use SelectionDAG::getUNDEF. NFC.Dan Gohman2015-12-041-1/+1
| | | | llvm-svn: 254726
* Update for llvm change.Rafael Espindola2015-12-041-6/+6
| | | | llvm-svn: 254725
* [Hexagon] Simplify LowerCONCAT_VECTORS, handle different types betterKrzysztof Parzyszek2015-12-041-58/+55
| | | | llvm-svn: 254724
* [PS4] Add an additional test for ASan+UBSanFilipe Cabecinhas2015-12-041-0/+4
| | | | llvm-svn: 254723
OpenPOWER on IntegriCloud