summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [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
* [clang-tidy] Apply NOLINT filtering to Clang warnings.Alexander Kornienko2016-05-042-16/+32
| | | | llvm-svn: 268555
* Use early return. NFC.Rafael Espindola2016-05-041-47/+48
| | | | llvm-svn: 268554
* Add the Pure attribute to C99 builtin functions from ctype.h. This is a ↵Aaron Ballman2016-05-047-277/+429
| | | | | | | | corrected version of r266199 with test case fixes. Patch by Taewook Oh. llvm-svn: 268553
* Fix build of DebugInfoPDBTests.Zachary Turner2016-05-041-0/+1
| | | | | | Missing a using statement. llvm-svn: 268552
* Handle errors on file opening as soft error.Rui Ueyama2016-05-041-3/+6
| | | | | | | | Also improves the error message. Previously it would just print out the cause (e.g. "permission denied"). Now it prints out something like "--reproduce: failed to open foo.cpio: permission denied". llvm-svn: 268551
* [SimplifyCFG] propagate branch metadata when creating selectSanjay Patel2016-05-042-22/+67
| | | | | | | | | Unlike earlier similar fixes, we need to recalculate the branch weights in this case. Differential Revision: http://reviews.llvm.org/D19674 llvm-svn: 268550
* [AArch64] Add cheap as move instructions for Exynos M1Evandro Menezes2016-05-041-2/+33
| | | | llvm-svn: 268549
* Fix the doc extraction script to work with hasAnyName and with equalsNode.Samuel Benzaquen2016-05-042-6/+37
| | | | | | | | | The change from llvm::VariadicFunction to internal::VariadicFunction broke the extraction of hasAnyName(). equalsNode was broken because the argument type is 'const XXXX*' and the internal space caused a failure on the regex. llvm-svn: 268548
* [libFuzzer] print stats after running individual inputsKostya Serebryany2016-05-043-2/+7
| | | | llvm-svn: 268547
* Update for llvm change to add pdb namespace.Zachary Turner2016-05-045-44/+50
| | | | | | | r268544 moves all PDB reading code into a pdb namespace, so LLDB needs to be updated to take this into account. llvm-svn: 268545
* Move pdb code into pdb namespace.Zachary Turner2016-05-04121-89/+277
| | | | llvm-svn: 268544
* Removing some trailing whitespaceEric Fiselier2016-05-042-2/+2
| | | | llvm-svn: 268543
* Don't depend on dynamic relocatinos in ro sections.Rafael Espindola2016-05-0413-56/+63
| | | | | | | | Currently we don't check when creating relative relocations if the section is read only or not. I am about to fix that, so first update the patches that depend on the current behavior. llvm-svn: 268542
* fix docsKostya Serebryany2016-05-041-0/+1
| | | | llvm-svn: 268541
* document -f[no-]sanitize-recover=all and mention it in warning messagesKostya Serebryany2016-05-043-4/+7
| | | | llvm-svn: 268540
* [AArch64] Use the reciprocal estimation machineryEvandro Menezes2016-05-047-3/+339
| | | | | | | This patch adds support for estimating the square root, its reciprocal and division or reciprocal using the combiner generic reciprocal machinery. llvm-svn: 268539
* Split a testcase.Rafael Espindola2016-05-042-59/+110
| | | | | | | I will make changes to the -shared side and this reduces the noise in the other patch. llvm-svn: 268538
* cmake: Prefix Polly options with LLVM_ to avoid variable shadowingTobias Grosser2016-05-041-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Before this change certain Polly variables have been used both as user-facing CACHED cmake variables as well as uncached internal variables. Even though this seems to have worked OK in practice, the behavior only worked due to one variable shadowing the other. This behavior has been found confusing. To make the use of cmake variables more clear we now prefix the cached, user facing variables with LLVM_ as it is common habit for LLVM options and also moved the _POLLY_ term to the beginning to ensure related options are sorted after each other. The variables that control the behavior of LLVM/Polly are then set by forwarding the values set in the user facing option variables. As a result, Polly is now enabled with LLVM_POLLY_BUILD instead of BUILD_POLLY and the linking behavior of Polly is controlled with LLVM_POLLY_LINK_INTO_TOOLS instead of LINK_POLLY_INTO_TOOLS. Reviewers: bogner, Meinersbur Subscribers: pollydev, llvm-commits Differential Revision: http://reviews.llvm.org/D19907 llvm-svn: 268537
* Revert r268529 because it caused use-of-uninitialized-valueVitaly Buka2016-05-042-211/+6
| | | | | | | | | | | | | | | | | | | | | | Summary: This reverts commit d88cc0862bf7da64850b89e9bb5ea9f95e7f1184. #0 0xfed467 in llvm::ARMFrameLowering::determineCalleeSaves(llvm::MachineFunction&, llvm::BitVector&, llvm::RegScavenger*) const /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/ARM/ARMFrameLowering.cpp:1625:52 #1 0x330d4cc in (anonymous namespace)::PEI::runOnMachineFunction(llvm::MachineFunction&) /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/CodeGen/PrologEpilogInserter.cpp:186:3 #2 0x3193e12 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:60:13 #3 0x396237d in llvm::FPPassManager::runOnFunction(llvm::Function&) /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/IR/LegacyPassManager.cpp:1526:23 #4 0x3962a23 in llvm::FPPassManager::runOnModule(llvm::Module&) /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/IR/LegacyPassManager.cpp:1547:16 #5 0x3963d52 in runOnModule /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/IR/LegacyPassManager.cpp:1603:23 #6 0x3963d52 in llvm::legacy::PassManagerImpl::run(llvm::Module&) /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/IR/LegacyPassManager.cpp:1706 #7 0x6bb910 in compileModule(char**, llvm::LLVMContext&) /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/llc/llc.cpp:412:5 #8 0x6b3c25 in main /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/llc/llc.cpp:218:22 #9 0x7fd4a7d37ec4 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #10 0x625c93 in _start (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build_msan/bin/llc+0x625c93) Reviewers: Subscribers: llvm-svn: 268536
* [codeview] Add a type visitor to help abstract away type stream handlingReid Kleckner2016-05-047-498/+697
| | | | | | | | | | | | | | | | | | Summary: Port the dumper in llvm-readobj over to it. I'm planning to use this visitor to power type stream merging. While we're at it, try to switch from StringRef to ArrayRef<uint8_t> in some places. Reviewers: zturner, amccarth Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19899 llvm-svn: 268535
* [ConstantFold] Don't try to strip fp -> int bitcasts to simplify icmpsHal Finkel2016-05-042-0/+56
| | | | | | | | | | | | | ConstantFold has logic to take icmp (bitcast x to y), null and strip the bitcast. This makes sense in general, but not if x has floating-point type. In this case, we'd need a fcmp, not an icmp, and the code will assert. We normally don't see this situation because we constant fold fp -> int bitcasts, however, we'll see it for bitcasts of ppc_fp128 -> i128. This is because that bitcast is Endian-dependent, and as a result, we don't simplify it in ConstantFold (we could, but no one has yet added the necessary logic). Regardless, ConstantFold should not depend on that canonicalization for correctness. llvm-svn: 268534
* [x86] add tests to show current codegen for obscured fneg/fabsSanjay Patel2016-05-041-0/+50
| | | | llvm-svn: 268533
* [CodeGenObjCXX] Fix handling of blocks in lambda.Akira Hatanaka2016-05-042-26/+47
| | | | | | | | | | | This fixes a crash that occurs when a block captures a reference that is captured by its enclosing lambda. rdar://problem/18586651 Differential Revision: http://reviews.llvm.org/D19536 llvm-svn: 268532
* [MSan] [Mips64] Add tests for vararg handling.Marcin Koscielnicki2016-05-042-0/+85
| | | | | | Differential Revision: http://reviews.llvm.org/D19919 llvm-svn: 268531
* Revert "[InstCombine] Canonicalize icmp instructions based on dominating ↵Balaram Makam2016-05-044-185/+0
| | | | | | | | conditions." This reverts commit 573a40f79b35cf3e71db331bb00f6a84f03b835d. llvm-svn: 268530
* [ARM] Fix Scavenger assert due to underestimated stack sizeWeiming Zhao2016-05-042-6/+211
| | | | | | | | | | | | | Summary: Currently, when checking if a stack is "BigStack" or not, it doesn't count into spills and arguments. Therefore, LLVM won't reserve spill slot for this actually "BigStack". This may cause scavenger failure. Reviewers: rengolin Subscribers: aemerson, rengolin, tberghammer, danalbert, srhines, llvm-commits Differential Revision: http://reviews.llvm.org/D19896 llvm-svn: 268529
* Fix spelling in comment. NFC.Simon Pilgrim2016-05-041-1/+1
| | | | llvm-svn: 268528
* [ObjC] Enter a new evaluation context before callingAkira Hatanaka2016-05-042-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BuildBlockForLambdaConversion. Previously, clang would build an incorrect AST for the following code: id test() { return @{@"a": [](){}, @"b": [](){}}; } ReturnStmt 0x10d080448 `-ExprWithCleanups 0x10d080428 |-cleanup Block 0x10d0801f0 // points to the second BlockDecl ... -BlockDecl 0x10d07f150 // First block ... -BlockDecl 0x10d0801f0 // Second block ... `-ExprWithCleanups 0x10d0801d0 |-cleanup Block 0x10d07f150 // points to the first BlockDecl To fix the bug, this commit enters a new evaluation context to reset ExprNeedsCleanups before each block is parsed. rdar://problem/16879958 Differential Revision: http://reviews.llvm.org/D18815 llvm-svn: 268527
* Revert r268504Simon Pilgrim2016-05-042-1519/+11965
| | | | llvm-svn: 268526
* [ELF][MIPS] R_MIPS_GOT_DISP, R_MIPS_GOT_PAGE, R_MIPS_GOT_OFST relocations ↵Simon Atanasyan2016-05-042-2/+90
| | | | | | | | | | | | support These relocations introduced by MIPS N64 ABI. R_MIPS_GOT_DISP references GOT entry with full symbol's address, R_MIPS_GOT_PAGE creates GOT entry with address of memory page which includes symbol's address, R_MIPS_GOT_OFST used together with R_MIPS_GOT_PAGE. This relocation calculates offset from beginning of memory page to the symbol address. llvm-svn: 268525
* Adding test cases showing the behavior of LoopUnrollPass according to ↵Marianne Mailhot-Sarrasin2016-05-041-0/+160
| | | | | | | | | | optnone and optsize attributes The unroll pass was disabled by clang in /Os. Those new test cases shows that the pass will behave correctly even if it is not fully disabled. This patch is related in some way to the clang commit (http://reviews.llvm.org/D19827), which re-enables the pass in /Os. Differential Revision: http://reviews.llvm.org/D19870 llvm-svn: 268524
* Update test CHECK lines after r268509. NFC.Pete Cooper2016-05-041-1/+0
| | | | | | | | r268509 causes this test case to be fully unrolled, so checking for an icmp is no longer valid. Given that this test is for ARC anyway, checking for the icmp seems unecessary. llvm-svn: 268523
* [NVPTX:doc] Update code examples to conform to the latest IR.Jingyue Wu2016-05-041-23/+23
| | | | llvm-svn: 268522
* [InstCombine] Canonicalize icmp instructions based on dominating conditions.Balaram Makam2016-05-044-0/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch canonicalizes conditions based on the constant range information of the dominating branch condition. For example: %cmp = icmp slt i64 %a, 0 br i1 %cmp, label %land.lhs.true, label %lor.rhs lor.rhs: %cmp2 = icmp sgt i64 %a, 0 Would now be canonicalized into: %cmp = icmp slt i64 %a, 0 br i1 %cmp, label %land.lhs.true, label %lor.rhs lor.rhs: %cmp2 = icmp ne i64 %a, 0 Reviewers: mcrosier, gberry, t.p.northover, llvm-commits, reames, hfinkel, sanjoy, majnemer Subscribers: MatzeB, majnemer, mcrosier Differential Revision: http://reviews.llvm.org/D18841 llvm-svn: 268521
* Fix a SIGSEGV caused by dereferencing a pointer without a null checkBryan Chan2016-05-041-2/+2
| | | | llvm-svn: 268520
* [Support] Creation of minidump after compiler crash on WindowsLeny Kholodov2016-05-046-1/+247
| | | | | | | | | | | In the current implementation compiler only prints stack trace to console after crash. This patch adds saving of minidump files which contain a useful subset of the information for further debugging. Differential Revision: http://reviews.llvm.org/D18216 llvm-svn: 268519
* Reland "Use ScopedPrinter in llvm-pdbdump"Reid Kleckner2016-05-043-1139/+1431
| | | | | | | This reverts r268508 and reinstates r268506 with an additional cast from TypeLeafKind to unsigned to allow conversion to HexNumber. llvm-svn: 268517
OpenPOWER on IntegriCloud