summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* IR value profile testing cleanup Xinliang David Li2016-05-052-4/+5
| | | | llvm-svn: 268608
* LTOCodeGenerator: add linkonce(_odr) to "llvm.compiler.used" when present in ↵Mehdi Amini2016-05-052-21/+78
| | | | | | | | | | | | | | | "MustPreserve" set If the linker requested to preserve a linkonce function, we should honor this even if we drop all uses. We explicitely avoid turning them into weak_odr (unlike the first version of this patch in r267644), because the codegen can be different on Darwin: because of `llvm::canBeOmittedFromSymbolTable()` we may emit the symbol as weak_def_can_be_hidden instead of weak_definition. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268607
* Revert "LTOCodeGenerator: turns linkonce(_odr) into weak_(odr) when present ↵Mehdi Amini2016-05-052-57/+22
| | | | | | | | | | | | "MustPreserve" set" This reverts commit r267644. Turning linkonce_odr into weak_odr is a sementic change on Darwin: because of `llvm::canBeOmittedFromSymbolTable()` we may emit the symbol as weak_def_can_be_hidden instead of weak_definition. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268606
* ThinLTOCodeGenerator: remove useless temporary file that was emitted.Mehdi Amini2016-05-051-7/+4
| | | | | | | | This was a remaining of a previous scheme where some IPOs were taking place before we enter this code. This is not relevant anymore. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268605
* ELF: Do not use -1 to mark pieces of merge sections as being tail merged.Peter Collingbourne2016-05-057-11/+85
| | | | | | | | | | | | | | | | | We were previously using an output offset of -1 for both GC'd and tail merged pieces. We need to distinguish these two cases in order to filter GC'd symbols from the symbol table -- we were previously asserting when we asked for the VA of a symbol pointing into a dead piece, which would end up asking the tail merging string table for an offset even though we hadn't initialized it properly. This patch fixes the bug by using an offset of -1 to exclusively mean GC'd pieces, using 0 for tail merges, and distinguishing the tail merge case from an offset of 0 by asking the output section whether it is tail merge. Differential Revision: http://reviews.llvm.org/D19953 llvm-svn: 268604
* Sync up with master fileXinliang David Li2016-05-051-2/+1
| | | | llvm-svn: 268603
* [Profile] Raw profile header clean upXinliang David Li2016-05-057-14/+7
| | | | | | Remove dead ValueDataBegin field in raw header. llvm-svn: 268602
* [PM] Port Branch Probability Analysis pass to the new pass manager.Xinliang David Li2016-05-0510-1/+68
| | | | | | Differential Revision: http://reviews.llvm.org/D19839 llvm-svn: 268601
* Documentation updates for recent changes to VLAs and default-initialization ↵Richard Smith2016-05-051-17/+13
| | | | | | of const-qualified class objects. llvm-svn: 268600
* [PM] Port EliminateAvailableExternally pass to the new pass manager.Davide Italiano2016-05-057-31/+72
| | | | llvm-svn: 268599
* Merge two tests for the same purpose.Rui Ueyama2016-05-052-18/+8
| | | | | | | I accidentally added another test file as I didn't notice that the test file existed. llvm-svn: 268598
* [ThinLTO] Remove missed piece of lazy summary reading support (NFC)Teresa Johnson2016-05-051-48/+0
| | | | | | Missed in r267097. llvm-svn: 268597
* Add a test for --reproduce on Windows.Rui Ueyama2016-05-052-0/+16
| | | | | | | | | | | | | It is insanely hard to write a test that works both on Windows and Unix. I tried to workaround it with cpio's minor options, but the behaviors of the options were myterious. It just doesn't worth to spend time on it. And probably minor options could break buildbots that doesn't have the GNU version of cpio command. In this patch, I simply added a separate test file that runs only on Windows. llvm-svn: 268596
* Update FIXME.Richard Smith2016-05-051-2/+1
| | | | llvm-svn: 268595
* Fix implementation of C++'s restrictions on using-declarations referring to ↵Richard Smith2016-05-057-58/+107
| | | | | | | | | | | enumerators: * an unscoped enumerator whose enumeration is a class member is itself a class member, so can only be the subject of a class-scope using-declaration. * a scoped enumerator cannot be the subject of a class-scope using-declaration. llvm-svn: 268594
* Allow LanguageRuntimes to return an error if they fail in the course of ↵Enrico Granata2016-05-0516-38/+98
| | | | | | | | | | | | dynamic type discovery This is not meant to report that a value doesn't have a dynamic type - it is only meant as a mechanism to propagate actual type discovery issues (e.g. malformed type metadata for languages that have such a notion) This information is used by ValueObjectDynamic to set its own m_error, which is a fairly sharp and heavyweight tool to begin with For the time being, this is an architectural improvement but a practical no-op as no existing runtimes are actually setting errors llvm-svn: 268591
* ARM: Use a Handle to track SDNodes in case they're CSE'd. NFCJustin Bogner2016-05-051-4/+2
| | | | | | | | | | | | The code here is recursively Select-ing a new Node to avoid issues where N is CSE'd during replaceDAGValue and stops being valid. We can accomplish the same goal in a more principled way by using a HandleSDNode. This is essentially a less dodgy fix for PR25733 than the original attempt back in r255120. llvm-svn: 268590
* Do not add uwtable attribute by default for MachO targets.Akira Hatanaka2016-05-052-0/+9
| | | | | | | | | | r217178 changed clang to add function attribute uwtable by default on Win64, which caused the __eh_frame section to be emitted by default. This commit restores the previous behavior for MachO targets. rdar://problem/25282627 llvm-svn: 268589
* Revert "[asan] add option to set shadow mapping offset"Ryan Govostes2016-05-052-48/+2
| | | | | | This reverts commit ba89768f97b1d4326acb5e33c14eb23a05c7bea7. llvm-svn: 268588
* Make the functions that fetch data from the ObjC runtime choose whether or ↵Enrico Granata2016-05-051-15/+13
| | | | | | | | not to log depending on whether the types log is enabled This can prove helpful in debugging issues with that retrieval even if LLDB wasn't compiled with the magic macros defined llvm-svn: 268587
* [asan] add option to set shadow mapping offsetRyan Govostes2016-05-052-2/+48
| | | | | | | | Allowing overriding the default ASAN shadow mapping offset with the -asan-shadow-offset option, and allow zero to be specified for both offset and scale. llvm-svn: 268586
* [modules] Enforce the rules that an explicit or partial specialization must beRichard Smith2016-05-0516-78/+527
| | | | | | | | declared before it is used. Because we don't use normal name lookup to find these, the normal code to filter out non-visible names from name lookup results does not apply. llvm-svn: 268585
* clang-format some files in preparation of coming patch reviews.Dehao Chen2016-05-054-767/+724
| | | | llvm-svn: 268583
* [PM] Port ConstantMerge to the new pass manager.Davide Italiano2016-05-058-31/+76
| | | | llvm-svn: 268582
* [SystemZ] Implement backchain attribute (recommit with fix).Marcin Koscielnicki2016-05-053-4/+130
| | | | | | | | | | | | | This introduces a SystemZ-specific "backchain" attribute on function, which enables writing the frame backchain link as specified by the ABI. This will be used to implement -mbackchain option in clang. Differential Revision: http://reviews.llvm.org/D19889 Fixed in this version: added RegState::Define and RegState::Kill on R1D in prologue. llvm-svn: 268581
* [codeview] Move dumper into lib/DebugInfo/CodeViewReid Kleckner2016-05-058-813/+949
| | | | | | So that we can call it from llvm-pdbdump. llvm-svn: 268580
* [clang-tidy] Improve -warnings-as-errors tests.Alexander Kornienko2016-05-053-4/+20
| | | | llvm-svn: 268579
* [LoopDataPrefetch] Add optimization remarkAdam Nemet2016-05-052-1/+84
| | | | | | | With -Rpass=loop-data-prefetch, show the memory access that got prefetched. llvm-svn: 268578
* Revert "[SimplifyCFG] propagate branch metadata when creating select"Vitaly Buka2016-05-042-67/+22
| | | | | | | | | | | | MemorySanitizer: use-of-uninitialized-value 0x4910e47 in count /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/Support/MathExtras.h:159:12 0x4910e47 in countLeadingZeros<unsigned long> /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/Support/MathExtras.h:183 0x4910e47 in FitWeights /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:855 0x4910e47 in SimplifyCondBranchToCondBranch /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2895 This reverts commit 609f4dd4bf3bc735c8c047a4d4b0a8e9e4d202e2. llvm-svn: 268577
* Revert "[SystemZ] Implement backchain attribute."Marcin Koscielnicki2016-05-043-130/+4
| | | | | | | | This reverts commit rL268571. It caused failures in register scavenger. llvm-svn: 268576
* [SystemZ] Add -mbackchain option.Marcin Koscielnicki2016-05-048-0/+40
| | | | | | | | | This option, like the corresponding gcc option, is SystemZ-specific and enables storing frame backchain links, as specified in the ABI. Differential Revision: http://reviews.llvm.org/D19891 llvm-svn: 268575
* XFail TestEnumTypes.py on WindowsAdrian McCarthy2016-05-042-7/+8
| | | | | | Differential Revision: http://reviews.llvm.org/D19943 llvm-svn: 268574
* XFail TestLambdas.py on Windows after fixing some of the problemsAdrian McCarthy2016-05-044-12/+24
| | | | | | | | | | | | | | 1. Fixed semicolon placement in the lambda in the test itself. 2. Fixed lldbinline tests in general so that we don't attempt tests on platforms that don't use the given type of debug info. (For example, no DWO tests on Windows.) This fixes one of the two failures on Windows. (TestLambdas.py was the only inline test that wasn't XFailed or skipped on Windows.) 3. Set the error string in IRInterpreter::CanInterpret so that the caller doesn't print (null) instead of an explanation. I don't entirely understand the error, so feel free to suggest a better wording. 4. XFailed the test on Windows. The interpreter won't evaluate the lambda because the module has multiple function bodies. I don't exactly understand why that's a problem for the interpreter nor why the problem arises only on Windows. Differential Revision: http://reviews.llvm.org/D19606 llvm-svn: 268573
* [SystemZ] Implement llvm.get.dynamic.area.offsetMarcin Koscielnicki2016-05-044-0/+57
| | | | | | | | To be used for AddressSanitizer. Differential Revision: http://reviews.llvm.org/D19817 llvm-svn: 268572
* [SystemZ] Implement backchain attribute.Marcin Koscielnicki2016-05-043-4/+130
| | | | | | | | | | This introduces a SystemZ-specific "backchain" attribute on function, which enables writing the frame backchain link as specified by the ABI. This will be used to implement -mbackchain option in clang. Differential Revision: http://reviews.llvm.org/D19889 llvm-svn: 268571
* Revert "[SCCP] Throw away dead code. NFC."Davide Italiano2016-05-041-0/+3
| | | | | | This reverts commit r268568, as it broke the bots. llvm-svn: 268570
* Make --reproduce to not produce undesired whitespace.Rui Ueyama2016-05-042-5/+15
| | | | | | Fixes bug 27648. llvm-svn: 268569
* [SCCP] Throw away dead code. NFC.Davide Italiano2016-05-041-3/+0
| | | | llvm-svn: 268568
* [X86] Add a few register classes for x32 address accesses.Quentin Colombet2016-05-043-7/+24
| | | | | | | | | | | | The new register classes allow to tell the machine verifier that it is fine to use RIP for address accesses in x32 mode. Prior to that patch, we would complain that we are using a GR64 in place of GR32, whereas it is actually fine to use GR64 for x32 as long as the 32 high bits are 0s. RIP has this property and is used for RIP-relative addressing. This partially fixes http://llvm.org/PR27481. llvm-svn: 268567
* Unblock the windows buildbot.Greg Clayton2016-05-041-0/+1
| | | | llvm-svn: 268566
* [ELF][MIPS] Create combined dynamic relocation type ↵Simon Atanasyan2016-05-042-2/+75
| | | | | | | | | | R_MIPS_REL32/R_MIPS_64/R_MIPS_NONE MIPS N64 ABI packs multiple relocations into the single relocation record. Particularly it requires to represent dynamic relative relocation as a combination of R_MIPS_REL32 and R_MIPS_64 relocations. llvm-svn: 268565
* clean up; NFCISanjay Patel2016-05-041-15/+15
| | | | llvm-svn: 268564
* Don't let two threads call Debugger::Clear simultaneously.Greg Clayton2016-05-042-24/+40
| | | | | | | | We don't want a mutex in debugger as it will cause A/B locking issues with the lldb_private::Target's mutex, but we do need to stop two threads from doing Debugger::Clear at the same time. We have seen issues with this with the C++ global destructor chain where the global debugger list is being destroyed and the Debugger::~Debugger() is calling it while another thread was in the middle of running that function. <rdar://problem/26098913> llvm-svn: 268563
* Fixed a missing break and fixed spacing.Greg Clayton2016-05-041-22/+23
| | | | llvm-svn: 268562
* [SelectionDAG] BITREVERSE vector legalization of bit operations (REAPPLIED)Simon Pilgrim2016-05-043-11965/+1529
| | | | | | | | Some vector bit operations are promoted instead of having custom lowering. This patch changes the isOperationLegalOrCustom tests for vector AND/OR operations to use a new TLI helper isOperationLegalOrCustomOrPromote instead, allowing the SSE implementations to stay on the simd unit. Differential Revision: http://reviews.llvm.org/D19805 llvm-svn: 268561
* Spelling and grammar corrections in comments.Eric Christopher2016-05-042-16/+16
| | | | llvm-svn: 268560
* Intentionally leak the ASTSourceMap instead of destroying it when LLDB quits.Sean Callanan2016-05-041-2/+3
| | | | | | <rdar://problem/25959792> llvm-svn: 268559
* Don't produce relative relocs to ro segments.Rafael Espindola2016-05-043-13/+30
| | | | | | | | | We were already checking for non relative relocations. If we ever decide to add support for rw text segments this means we will have a single spot to add the flag. llvm-svn: 268558
* "Reapply r268521 "[InstCombine] Canonicalize icmp instructions based on ↵Balaram Makam2016-05-045-2/+189
| | | | | | | | | dominating conditions."" This reapplies commit r268521, that was reverted in r268530 due to a test failure in select-implied.ll Modified the test case to reflect the new change. llvm-svn: 268557
* Rename isRelRelative.Rafael Espindola2016-05-041-3/+4
| | | | | | What it is computing is if we need a dynamic relocation or not. llvm-svn: 268556
OpenPOWER on IntegriCloud