summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* [ASan] Retire mac_ignore_invalid_free, remove some dead code.Alexander Potapenko2015-12-046-51/+6
| | | | | | | | | | mac_ignore_invalid_free was helpful when ASan runtime used to intercept CFAllocator and sometimes corrupted its memory. This behavior had been long gone, and the flag was unused. This patch also deletes ReportMacCfReallocUnknown(), which was used by the CFAllocator realloc() wrapper. llvm-svn: 254722
* Modernize the C++ APIs for creating LTO modules.Rafael Espindola2015-12-044-127/+165
| | | | | | | | | | | | | | | | This is a continuation of r253367. These functions return is owned by the caller, so they return std::unique_ptr now. The call can fail, so the return is wrapped in ErrorOr. They have a context where to report diagnostics, so they don't need to take a string out parameter. With this there are no call to getGlobalContext in lib/LTO. llvm-svn: 254721
* ARM/AArch64: update reference documentation.Tim Northover2015-12-041-2/+4
| | | | | | There's a more comprehensive ACLE and a real v8 ARM ARM now. llvm-svn: 254720
* [Hexagon] Using multiply instead of shift on signed number which can be UBColin LeMahieu2015-12-041-2/+2
| | | | llvm-svn: 254719
* [analyzer] Improve modelling of nullptr_t in the analyzer. Fix PR25414.Gabor Horvath2015-12-042-1/+57
| | | | | | Differential Revision: http://reviews.llvm.org/D15007 llvm-svn: 254718
* [tsan] Enable building and testing TSan Go runtime on OS XKuba Brecka2015-12-042-1/+11
| | | | | | | | The build and test actually work now, so let's just enable them. Differential Revision: http://reviews.llvm.org/D15184 llvm-svn: 254716
* Improve the functionality of JSONNumberTamas Berghammer2015-12-043-44/+116
| | | | | | | | | * Add support for representing signed integers * Add new constructors taking any signed or unsigned integer types Differential revision: http://reviews.llvm.org/D15187 llvm-svn: 254715
* [SystemZ] Bugfix: Don't add CC twice to new three-address instruction.Jonas Paulsson2015-12-041-4/+10
| | | | | | | | | | | Since BuildMI() automatically adds the implicit operands for a new instruction, adding the old instructions CC operand resulted in that there were two CC imp-def operands, where only one was marked as dead. This caused buildSchedGraph() to miss dependencies on the CC reg. Review by Ulrich Weigand llvm-svn: 254714
* [ELF] - Implemented @tlsgd optimization (GD->IE case, x64).George Rimar2015-12-047-26/+142
| | | | | | | | | "Ulrich Drepper, ELF Handling For Thread-Local Storage" (5.5 x86-x64 linker optimizations, http://www.akkadia.org/drepper/tls.pdf) shows how GD can be optimized to IE. This patch implements the optimization. Differential revision: http://reviews.llvm.org/D15000 llvm-svn: 254713
* LEA code size optimization pass (Part 1): Remove redundant address ↵Alexey Bataev2015-12-045-0/+463
| | | | | | | | | recalculations, by Andrey Turetsky Add new x86 pass which replaces address calculations in load or store instructions with def register of existing LEA (must be in the same basic block), if the LEA calculates address that differs only by a displacement. Works only with -Os or -Oz. Differential Revision: http://reviews.llvm.org/D13294 llvm-svn: 254712
* [LLDB][MIPS] Fix gdbremote_testcase.pyMohit K. Bhakkad2015-12-041-3/+9
| | | | | | | | | | Patch by Nitesh Jain Reviewers: clayborg, ovyalov. Subscribers: jaydeep, bhushan, mohit.bhakkad, sagar. Differential Revision: http://reviews.llvm.org/D15103 llvm-svn: 254711
OpenPOWER on IntegriCloud