summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Mips] Replace MipsTargetHandler member function getGP() by getGPAddr()Simon Atanasyan2015-04-103-12/+11
| | | | | | | When we call getGP() we need in fact _gp symbol address. Let's cache its value and return it directly from the new getGPAddr() function. llvm-svn: 234632
* [Mips] Use std::call_once for thread safe initializationSimon Atanasyan2015-04-101-7/+10
| | | | | | The commit is inspired by r234628. Thanks Rui for the idea. llvm-svn: 234631
* [Mips] Fix typo in the commentSimon Atanasyan2015-04-101-1/+1
| | | | llvm-svn: 234630
* Create correct platform-specific target for NetBSD PPC64LE.Joerg Sonnenberger2015-04-101-0/+2
| | | | llvm-svn: 234629
* Fix minor threading issue.Rui Ueyama2015-04-101-6/+7
| | | | | | | | Because calls of applyRelocation is parallelized, all functions called from that need to be thread-safe. This piece of code didn't use any synchronization mechanism, so it was not safe. llvm-svn: 234628
* Avoid spewing binary to stdout in some filetype=obj testsReid Kleckner2015-04-101-10/+10
| | | | llvm-svn: 234627
* [clang-tidy] Add readability-simplify-boolean-expr check to clang-tidyAlexander Kornienko2015-04-105-1/+1025
| | | | | | | | | | | | | | | | | | | | | | | | | | | This check looks for comparisons between boolean expressions and boolean constants and simplifies them to just use the appropriate boolean expression directly. if (b == true) becomes if (b) if (b == false) becomes if (!b) if (b && true) becomes if (b) if (b && false) becomes if (false) if (b || true) becomes if (true) if (b || false) becomes if (b) e ? true : false becomes e e ? false : true becomes !e if (true) t(); else f(); becomes t(); if (false) t(); else f(); becomes f(); if (e) return true; else return false; becomes return (e); if (e) return false; else return true; becomes return !(e); if (e) b = true; else b = false; becomes b = e; if (e) b = false; else b = true; becomes b = !(e); http://reviews.llvm.org/D7648 Patch by Richard Thomson! llvm-svn: 234626
* [TestFormatters, TestDataFormatterSynthVal] Mark as xfail.Siva Chandra2015-04-102-0/+2
| | | | | | | | | | | | | | | | Summary: This is to get the bots to go green while a robust solution to fix these tests is worked out. Reviewers: chaoren, tberghammer, clayborg Reviewed By: tberghammer, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8947 llvm-svn: 234625
* [TestAnonymous] Enable all tests for GCCSiva Chandra2015-04-101-8/+5
| | | | | | | | | | | | | | | | | | Summary: Also added "_with_dsym" prefix to the dsym tests, and "_with_dwarf" to the dwarf tests. Test Plan: dotest.py -C gcc -p TestAnonymous Reviewers: chaoren Reviewed By: chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8944 llvm-svn: 234624
* Don't eagerly typo-correct to a keyword if the next token is a right paren.Kaelyn Takata2015-04-103-2/+23
| | | | | | | | | Take advantage of the delayed typo no longer being eagerly corrected to a keyword to filter out keyword corrections (and other things like unresolved & overloaded expressions, which have placeholder types) when correcting typos inside of a decltype(). llvm-svn: 234623
* use update_llc_test_checks.py to tighten checkingSanjay Patel2015-04-101-94/+103
| | | | | | | | test features, not CPUs remove unnecessary cruft llvm-svn: 234622
* Testcase for the previous commit.Rafael Espindola2015-04-101-0/+7
| | | | | | Sorry, fogot to "git add" the previous time. llvm-svn: 234621
* Actually check if lseek works instead of using a filename based heuristic.Rafael Espindola2015-04-101-6/+6
| | | | llvm-svn: 234620
* Remember if lseek works in this FD.Rafael Espindola2015-04-102-1/+6
| | | | | | It will be used in clang in a sec. llvm-svn: 234619
* [SEH] Add test for inline functions using SEH helpersReid Kleckner2015-04-101-0/+44
| | | | | | | Such helpers should always be comdat with the parent function and have internal linkage. llvm-svn: 234618
* DebugInfo: Stop leaking temporaries in DIBuilder::createCompileUnit()Duncan P. N. Exon Smith2015-04-102-14/+15
| | | | | | | | | | | Stop leaking temporary nodes from `DIBuilder::createCompileUnit()`. `replaceAllUsesWith()` doesn't delete the nodes, so we need to delete them "manually" (well, `TempMDTuple` does that for us). Similarly, stop leaking the temporary nodes used for variables of subprograms. llvm-svn: 234617
* Really fix exceptions-seh-finally.cReid Kleckner2015-04-101-1/+1
| | | | llvm-svn: 234616
* Have one raw_fd_ostream constructor forward to the other.Rafael Espindola2015-04-101-24/+18
| | | | | | | This fixes some odd behavior differences between the two. In particular, the version that takes a FD no longer unconditionally sets stdout to binary. llvm-svn: 234615
* Try to fix exceptions-seh-finally.cReid Kleckner2015-04-101-2/+0
| | | | llvm-svn: 234614
* [SEH] Re-land r234532, but use internal linkage for all SEH helpersReid Kleckner2015-04-1010-371/+362
| | | | | | | | | | Even though these symbols are in a comdat group, the Microsoft linker really wants them to have internal linkage. I'm planning to tweak the mangling in a follow-up change. This is a straight revert with a 1-line fix. llvm-svn: 234613
* [Frontend] Close open file handles before renaming output filesReid Kleckner2015-04-101-10/+12
| | | | | | | | | | | | The placement of the 'delete' call that was removed in the unique_ptr migration in r234597 was not an accident. The raw_ostream has to be destroyed before you do the rename on Windows, otherwise you get ERROR_ACCESS_DENIED. We can still use unique_ptr, we just need to do a manual reset(). Also, range-for-loop-ify this code. llvm-svn: 234612
* [FS] Report errors from llvm::sys::fs::rename on WindowsReid Kleckner2015-04-101-0/+1
| | | | | | | | | | Previously we would always report success, which is pretty bogus. I'm too lazy to write a test where rename will portably fail on all platforms. I'm just trying to fix breakage introduced by r234597, which happened to tickle this. llvm-svn: 234611
* Use llvm::sys::fs::create_directories to create new directory on Windows.Oleksiy Vyalov2015-04-101-2/+7
| | | | | | http://reviews.llvm.org/D8977 llvm-svn: 234610
* Check in missing file.Greg Clayton2015-04-101-0/+88
| | | | llvm-svn: 234609
* [WinEH] Try to make outlining invokes work a little betterReid Kleckner2015-04-103-2/+96
| | | | | | | | WinEH currently turns invokes into calls. Long term, we will reconsider this, but for now, make sure we remap the operands and clone the successors of the new terminator. llvm-svn: 234608
* Add logging plugin for WindowsAdrian McCarthy2015-04-104-0/+282
| | | | llvm-svn: 234607
* [CallSite] Use the injected base class name. NFC.Benjamin Kramer2015-04-101-14/+10
| | | | llvm-svn: 234606
* Drop ISL_INSTALL pathTobias Grosser2015-04-101-2/+2
| | | | | | There is no need for an isl install path anymore. isl is now part of Polly. llvm-svn: 234605
* [ASan] Use a better name for a function parameterTimur Iskhodzhanov2015-04-101-3/+3
| | | | llvm-svn: 234604
* [PowerPC] Prefetching should also consider depth > 1 loopsHal Finkel2015-04-102-2/+71
| | | | | | | Iterating over loops from the LoopInfo instance only provides top-level loops. We need to search the whole tree of loops to find the inner ones. llvm-svn: 234603
* Split Mprotect into MmapNoAccess and MprotectNoAccess to be more portableTimur Iskhodzhanov2015-04-1014-12/+36
| | | | | | | On Windows, we have to know if a memory to be protected is mapped or not. On POSIX, Mprotect was semantically different from mprotect most people know. llvm-svn: 234602
* [CallSite] Make construction from Value* (or Instruction*) explicit.Benjamin Kramer2015-04-1017-33/+34
| | | | | | | | | | | | | | | | | | | CallSite roughly behaves as a common base CallInst and InvokeInst. Bring the behavior closer to that model by making upcasts explicit. Downcasts remain implicit and work as before. Following dyn_cast as a mental model checking whether a Value *V isa CallSite now looks like this: if (auto CS = CallSite(V)) // think dyn_cast instead of: if (CallSite CS = V) This is an extra token but I think it is slightly clearer. Making the ctor explicit has the advantage of not accidentally creating nullptr CallSites, e.g. when you pass a Value * to a function taking a CallSite argument. llvm-svn: 234601
* Don't rely on implicit CallSite construction.Benjamin Kramer2015-04-101-1/+1
| | | | llvm-svn: 234600
* Try to make MSVC happy.Rafael Espindola2015-04-101-0/+3
| | | | llvm-svn: 234599
* Return std::unique_ptr to avoid a release and recreate.Rafael Espindola2015-04-102-5/+5
| | | | llvm-svn: 234598
* Use a std::unique_ptr to make it easier to see who owns the stream.Rafael Espindola2015-04-102-14/+15
| | | | llvm-svn: 234597
* [clang-tidy] Fix for llvm.org/PR23161Szabolcs Sipos2015-04-102-8/+31
| | | | | | | | The misc-static-assert check will not warn on the followings: assert("Some message" == NULL); assert(NULL == "Some message"); llvm-svn: 234596
* [mips] [IAS] Improve comments in MipsAsmParser::expandLoadImm. NFC.Toma Tabacu2015-04-101-7/+5
| | | | llvm-svn: 234595
* [AArch64] Changes some SchedAlias to WriteRes for Cortex-A57.Chad Rosier2015-04-101-3/+8
| | | | | | | | | | | | Using SchedAliases is convenient and works well for latency and resource lookup for instructions. However, this creates an entry in AArch64WriteLatencyTable with a WriteResourceID of 0, breaking any SchedReadAdvance since the lookup will fail. http://reviews.llvm.org/D8043 Patch by Dave Estes <cestes@codeaurora.org>! llvm-svn: 234594
* [AArch64] Adjusts Cortex-A57 machine model to handle zero shift.Chad Rosier2015-04-101-0/+9
| | | | | | | http://reviews.llvm.org/D8043 Patch by Dave Estes <cestes@codeaurora.org>! llvm-svn: 234593
* Return a pointer instead of having a pointer outparam and a bool return.Rafael Espindola2015-04-102-20/+19
| | | | llvm-svn: 234592
* Initializing an uninitialized data member; should be NFC.Aaron Ballman2015-04-101-3/+3
| | | | llvm-svn: 234591
* Return a pointer instead of having a pointer outparam and a bool return.Rafael Espindola2015-04-103-21/+20
| | | | llvm-svn: 234590
* Microoptimize DenseMap::clear.Benjamin Kramer2015-04-101-3/+5
| | | | | | | | Cache NumEntries locally, it's only used in an assert and using the member variable prevents the compiler from eliminating the tombstone check for types with trivial destructors. No functionality change intended. llvm-svn: 234589
* [ARM] Implement PLT for dynamic passDenis Protivensky2015-04-105-0/+252
| | | | | | | | | This includes implementation of PLT0 entry. For testing, libfn.so binary is added since there's no way to link shared objects with lld yet. llvm-svn: 234588
* Reduce dyn_cast<> to isa<> or cast<> where possible. Clang edition.Benjamin Kramer2015-04-103-10/+8
| | | | | | No functional change intended. llvm-svn: 234587
* Reduce dyn_cast<> to isa<> or cast<> where possible.Benjamin Kramer2015-04-1022-64/+60
| | | | | | No functional change intended. llvm-svn: 234586
* [ARM] Rework GOT/PLT entry generationDenis Protivensky2015-04-101-21/+23
| | | | | | | Use consistent naming: commonly used generator methods don't have 'Entry' suffices. llvm-svn: 234585
* [mips] [IAS] Make the mips-expansions-bad.s test more readable. NFC.Toma Tabacu2015-04-101-3/+5
| | | | | | | Move the check lines below the code lines and change the indentation from 8 spaces to 2 spaces. llvm-svn: 234584
* [OPENMP] Codegen for 'reduction' clause in 'parallel' directive.Alexey Bataev2015-04-1024-420/+1886
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Emit a code for reduction clause. Next code should be emitted for reductions: static kmp_critical_name lock = { 0 }; void reduce_func(void *lhs[<n>], void *rhs[<n>]) { ... *(Type<i> *)lhs[i] = RedOp<i>(*(Type<i> *)lhs[i], *(Type<i> *)rhs[i]); ... } ... void *RedList[<n>] = {&<RHSExprs>[0], ..., &<RHSExprs>[<n> - 1]}; switch (__kmpc_reduce{_nowait}(<loc>, <gtid>, <n>, sizeof(RedList), RedList, reduce_func, &<lock>)) { case 1: ... <LHSExprs>[i] = RedOp<i>(*<LHSExprs>[i], *<RHSExprs>[i]); ... __kmpc_end_reduce{_nowait}(<loc>, <gtid>, &<lock>); break; case 2: ... Atomic(<LHSExprs>[i] = RedOp<i>(*<LHSExprs>[i], *<RHSExprs>[i])); ... break; default: ; } Reduction variables are a kind of a private variables, they have private copies, but initial values are chosen in accordance with the reduction operation. Differential Revision: http://reviews.llvm.org/D8915 llvm-svn: 234583
OpenPOWER on IntegriCloud