summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* [ARM] Replace dyn_cast with isa checkDenis Protivensky2015-04-101-1/+1
| | | | llvm-svn: 234582
* Remove threshold for inserting lifetime markers for named temporariesArnaud A. de Grandmaison2015-04-1023-50/+419
| | | | | | | | | | | | | | | | | | | Now that TailRecursionElimination has been fixed with r222354, the threshold on size for lifetime marker insertion can be removed. This only affects named temporary though, as the patch for unnamed temporaries is still in progress. My previous commit (r222993) was not handling debuginfo correctly, but this could only be seen with some asan tests. Basically, lifetime markers are just instrumentation for the compiler's usage and should not affect debug information; however, the cleanup infrastructure was assuming it contained only destructors, i.e. actual code to be executed, and was setting the breakpoint for the end of the function to the closing '}', and not the return statement, in order to show some destructors have been called when leaving the function. This is wrong when the cleanups are only lifetime markers, and this is now fixed. llvm-svn: 234581
* [ARM] Improve veneer handling and introduce handlePlain methodDenis Protivensky2015-04-101-1/+13
| | | | | | Handle veneers only for call-like relocations. llvm-svn: 234580
* [sanitizer][MIPS] Fix warnings on MIPSDmitry Vyukov2015-04-103-3/+13
| | | | | | | | | | | | Fixed: - stack frame size warning. - msse3 flag unused warning. - GoTsanRuntimeCheck dependency warning reported by cmake. Change by Sagar Thakur Reviewed in http://reviews.llvm.org/D8963 llvm-svn: 234579
* Reverting test commit.Szabolcs Sipos2015-04-101-1/+0
| | | | llvm-svn: 234578
* Test commit.Szabolcs Sipos2015-04-101-0/+1
| | | | llvm-svn: 234577
* [ARM] Remove unused variable in dynamic passDenis Protivensky2015-04-101-1/+1
| | | | llvm-svn: 234576
* [OPENMP] Fixed cleanup of OpenMP code.Alexey Bataev2015-04-101-28/+15
| | | | llvm-svn: 234575
* Fix typo in test. There is no %clangcxx, but there is %clangxx.Nick Lewycky2015-04-101-1/+1
| | | | llvm-svn: 234574
* [ARM] Add skeleton for dynamic relocation passDenis Protivensky2015-04-101-6/+39
| | | | llvm-svn: 234573
* [OPENMP] Fixing troubles with lambdas in cleanups.Alexey Bataev2015-04-101-20/+23
| | | | llvm-svn: 234572
OpenPOWER on IntegriCloud