summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [mips] Range check simm7.Daniel Sanders2016-03-2210-23/+63
| | | | | | | | | | | | | | Summary: Also renamed li_simm7 to li16_imm since it's not a simm7 and has an unusual encoding (it's a uimm7 except that 0x7f represents -1). Reviewers: vkalintiris Subscribers: dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D18145 llvm-svn: 264056
* clang-format: [JS] do not wrap ES6 imports/exports.Daniel Jasper2016-03-223-22/+38
| | | | | | | | | "import ... from '...';" and "export ... from '...';" should be treated the same as goog.require/provide/module/forwardDeclare calls. Patch by Martin Probst. llvm-svn: 264055
* [mips] Range check simm5.Daniel Sanders2016-03-224-3/+10
| | | | | | | | | | | | | | | Summary: We can't check the error message for this one because there's another lw/sw available that covers a larger range. We therefore check the transition between the two sizes. Reviewers: vkalintiris Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D18144 llvm-svn: 264054
* [mips] Range check vsplat_uimm[1234568].Daniel Sanders2016-03-223-72/+211
| | | | | | | | | | | | Summary: Reviewers: vkalintiris Subscribers: dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D18143 llvm-svn: 264053
* [mips] Range check uimm4_ptr, remove uimm6_ptr, and use correctly sized ↵Daniel Sanders2016-03-223-42/+74
| | | | | | | | | | | | immediates in MSA copy/insert. Reviewers: vkalintiris Subscribers: dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D18142 llvm-svn: 264052
* [PATCH] Force LoopReroll to reset the loop trip count value after reroll.Zinovy Nis2016-03-222-6/+9
| | | | | | | | | | | It's a bug fix. For rerolled loops SE trip count remains unchanged. It leads to incorrect work of the next passes. My patch just resets SE info for rerolled loop forcing SE to re-evaluate it next time it requested. I also added a verifier call in the exisitng test to be sure no invalid SE data remain. Without my fix this test would fail with -verify-scev. Differential Revision: http://reviews.llvm.org/D18316 llvm-svn: 264051
* Moving files that were placed in the wrong directory from r264049.Aaron Ballman2016-03-222-0/+0
| | | | llvm-svn: 264050
* Fix crashes from delayed template parsing code that assumed getBody() would ↵Aaron Ballman2016-03-224-8/+71
| | | | | | | | return non-null. Patch by Etienne Bergeron. llvm-svn: 264049
* Skip some relocations in scanRelocs.Rafael Espindola2016-03-222-25/+30
| | | | | | | | | | | | | When a tls access is optimized, a group of relocations is converted at a time. We were already skipping relocations that were optimized out in relocate, but not in scanRelocs. This is a small optimization. I got here while working on a patch that will always keep scanRelocs and relocate in sync. llvm-svn: 264048
* [ELF] - Process R_X86_64_GOTPCRELX/R_X86_64_REX_GOTPCRELX relocations.George Rimar2016-03-221-1/+4
| | | | | | | | | | | | | | | | | R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX relocations were added in latest ABI: https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-r249.pdf They should be generated instead of R_X86_64_GOTPCREL for cases when relaxation is possible. Currently this patch just process them in the same way like R_X86_64_GOTPCREL. That should work for now and we can implement relaxations later. There is no testcases provided as I think there is no way to generate such relocations using llvm-mc atm. Differential revision: http://reviews.llvm.org/D18301 llvm-svn: 264043
* [ELF][gcc compatibility]: support section names with special characters ↵Marina Yatsina2016-03-222-8/+13
| | | | | | | | | | | | (e.g. "/") Adding support for section names with special characters in them (e.g. "/"). GCC successfully compiles such section names. This also fixes PR24520. Differential Revision: http://reviews.llvm.org/D15678 llvm-svn: 264038
* [ASTMatchers] New matcher hasReturnValue addedAlexander Kornienko2016-03-224-0/+35
| | | | | | | | | | | | | | Summary: A checker (will be uploaded after this patch) needs to check implicit casts. Existing generic matcher "has" ignores implicit casts and parenthesized expressions and no specific matcher for matching return value expression preexisted. The patch adds such a matcher (hasReturnValue). Reviewers: klimek, sbenza Subscribers: xazax.hun, klimek, cfe-commits Patch by Ádám Balogh! Differential Revision: http://reviews.llvm.org/D17986 llvm-svn: 264037
* Fix warning about extra semicolon. NFC.Vasileios Kalintiris2016-03-221-1/+1
| | | | llvm-svn: 264035
* [ELF][MIPS] Delete GotSection::addMipsLocalEntry methodSimon Atanasyan2016-03-223-16/+13
| | | | | | | | | | Now local symbols have SymbolBody so we can handle all kind of symbols in the GotSection::addEntry method. The patch moves the code from addMipsLocalEntry to addEntry. NFC. Differential Revision: http://reviews.llvm.org/D18302 llvm-svn: 264032
* [OMPT] Make tests require OMPT_BLAMEJonas Hahnfeld2016-03-227-8/+6
| | | | | | | ompt_event_barrier_{begin,end} are optional blame events. In total it doesn't make any sense to test partially built OMPT support. llvm-svn: 264031
* [LLDB]{MIPS] Fix TestPlatformProcessConnect.pyMohit K. Bhakkad2016-03-224-18/+19
| | | | | | | | | | Patch by Nitesh Jain Reviewers: clayborg, labath. Subscribers: jaydeep, bhushan, mohit.bhakkad, sagar, lldb-commits. Differential Revision: http://reviews.llvm.org/D18082 llvm-svn: 264030
* Fix unittests: resize() -> reserve()Mehdi Amini2016-03-221-1/+1
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 264029
* DenseMap resize() is now named reserved(), adapt the call sitesMehdi Amini2016-03-221-2/+2
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 264028
* [OMPT] Create infrastructure and add first tests for OMPTJonas Hahnfeld2016-03-228-0/+404
| | | | | | | | | | | | | | | | | | Some basic checks next to the implementation should futher lower the possibility to introduce regressions. (Note that this would have catched the ordering issue fixed in rL258866 and pointed to rL263940.) The tests are implementation dependent in one point because they assume that thread ids are assigned in ascending order. This is not defined by the standard but currently ensured in libomp. We have to think about another way of ordering the threads should this ever be subject to change... Note that this isn't aiming at replacing the implementation independent test-suite at https://github.com/OpenMPToolsInterface/ompt-test-suite! Differential Revision: http://reviews.llvm.org/D16715 llvm-svn: 264027
* Rename DenseMap::resize() into DenseMap::reserve() (NFC)Mehdi Amini2016-03-223-3/+3
| | | | | | | This is more coherent with usual containers. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 264026
* [Objective-c] Do not set IsExact to true when the receiver is a class.Akira Hatanaka2016-03-223-3/+13
| | | | | | | | | | | | IsExact shouldn't be set to true in WeakObjectProfileTy::getBaseInfo when the receiver is a class because having a class as the receiver doesn't guarantee that the Base is exact. This is a follow-up to r263818. rdar://problem/25208167 llvm-svn: 264025
* Minor code cleanup. NFC.Junmo Park2016-03-221-1/+1
| | | | llvm-svn: 264024
* Revert "Use owning pointers instead of raw pointers for Atom's to fix leaks."Pete Cooper2016-03-2227-516/+203
| | | | | | | | | | | | This reverts commit r264022. This breaks the Window's bots which don't like that i'm calling ~Atom when the this pointer is a sublcass of Atom. Reverting for now until I try find a better fix. I tried using std::unique_ptr with a custom deleter as a quick fix, but it didn't work well in the YAML parser. llvm-svn: 264023
* Use owning pointers instead of raw pointers for Atom's to fix leaks.Pete Cooper2016-03-2227-203/+516
| | | | | | | | | | | | | | | | | | | | Currently each File contains an BumpPtrAllocator in which Atom's are allocated. Some Atom's contain data structures like std::vector which leak as we don't run ~Atom when they are BumpPtrAllocate'd. Now each File actually owns its Atom's using an OwningAtomPtr. This is analygous to std::unique_ptr and may be replaced by it if possible. An Atom can therefore only be owned by a single File, so the Resolver now moves them from one File to another. The MachOLinkingContext owns the File's and so clears all the Atom's in ~MachOLinkingContext, then delete's all the File's. This makes sure all Atom's have been destructed before any of the BumpPtrAllocator's in which they run have gone away. Should hopefully fix the remaining leaks. Will keep an eye on the bots to make sure. llvm-svn: 264022
* [Perf-training] Fixing an issue with multi-threading PGO generationChris Bieneman2016-03-221-2/+5
| | | | | | When LIT parallelizes the profraw file generation we need to generate unique temp filenames then clean them up after the driver executes. llvm-svn: 264021
* Visual Studio Native Visualizations for constructors and methodsMike Spertus2016-03-221-23/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, the class struct A { A(int _i); ~A(); int foo(double d); double bar(A *a) { return 1.3; } }; appears in the VS2015 Locals Window as D 0x02dbb378 struct A |- DeclKind CXXRecord |- Members |- [0] implicit struct A |- [1] Constructor {A(int _i)} |- [2] Destructor {~A()} |- [3] Method {int foo(double d)} |- [4] Method {double bar(struct A *)} |- [Raw View] /* Other stuff */ Note that these changes only benefit VS2015 as VS2013 does not have views and only displays the struct name "A", but the change does no apparent harm in VS2013, so is still a win. llvm-svn: 264020
* Appease the windows buildbotsSanjoy Das2016-03-221-30/+31
| | | | | | | The guess is that the stdout/stderr ordering may differ between windows / unix. llvm-svn: 264019
* [OpenMP] Base support for target directive codegen on NVPTX device.Arpith Chacko Jacob2016-03-225-6/+1052
| | | | | | | | | | | | | | Summary: This patch adds base support for codegen of the target directive on the NVPTX device. Reviewers: ABataev Differential Revision: http://reviews.llvm.org/D17877 Reworked test case after buildbot failure on windows. Updated patch to integrate r263837 and test case nvptx_target_firstprivate_codegen.cpp. llvm-svn: 264018
* Move -fms-compatibility-version=19 into target cflagsReid Kleckner2016-03-225-20/+7
| | | | | | | This reduces cflags duplication and allows us to build sanitizer_common/tests with clang and the VS 2015 STL. llvm-svn: 264017
* [asan] Relax strdup test check linesReid Kleckner2016-03-221-2/+2
| | | | | | | On the buildbot, strdup appears as frame 1 instead of frame 0. Either is an acceptable user experience. llvm-svn: 264016
* Add "first class" lowering for deopt operand bundlesSanjoy Das2016-03-226-24/+204
| | | | | | | | | | | | | | | | | Summary: After this change, deopt operand bundles can be lowered directly by SelectionDAG into STATEPOINT instructions (which are then lowered to a call or sequence of nop, with an associated __llvm_stackmaps entry0. This obviates the need to round-trip deoptimization state through gc.statepoint via RewriteStatepointsForGC. Reviewers: reames, atrick, majnemer, JosephTremoulet, pgavlin Subscribers: sanjoy, mcrosier, majnemer, llvm-commits Differential Revision: http://reviews.llvm.org/D18257 llvm-svn: 264015
* Wrap 81 character line to satisfy linterReid Kleckner2016-03-221-1/+2
| | | | llvm-svn: 264014
* [asan] Intercept strdup on WindowsReid Kleckner2016-03-225-11/+7
| | | | | | | | Some unit tests were failing because we didn't intercept strdup. It turns out it works just fine on 2013 and 2015 with a small patch to the interception logic. llvm-svn: 264013
* [JITLoaderGDB] Pack the jit entry struct according to the target arch.Siva Chandra2016-03-222-8/+25
| | | | | | | | | | Reviewers: clayborg Subscribers: tberghammer, dsrbecky, lldb-commits Differential Revision: http://reviews.llvm.org/D18334 llvm-svn: 264012
* [asan] Also apply r264006 to asan_win_dynamic_runtime_thunk.ccReid Kleckner2016-03-221-2/+2
| | | | llvm-svn: 264011
* Fix coverage-related asan tests for VS 2015Reid Kleckner2016-03-222-2/+9
| | | | | | | | printf is an inline function in VS 2015, giving these tests an unexpected extra point of coverage. This change works around that by avoiding printf. llvm-svn: 264010
* [CUDA] Implement atomicInc and atomicDec builtinsJustin Lebar2016-03-222-1/+23
| | | | | | | | | | | | | | | These functions cannot be implemented as atomicrmw or cmpxchg instructions, so they are implemented as a call to the NVVM intrinsics @llvm.nvvm.atomic.load.inc.32.p0i32 and @llvm.nvvm.atomic.load.dec.32.p0i32. Patch by Jason Henline. Reviewers: jlebar Differential Revision: http://reviews.llvm.org/D18322 llvm-svn: 264009
* [sema] [CUDA] Use std algorithms in EraseUnwantedCUDAMatchesImpl.Justin Lebar2016-03-221-17/+14
| | | | | | | | | | | | Summary: NFC Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18327 llvm-svn: 264008
* Revert r263974, "clang-cl: With -fmsc-version=1900, use MSVS2015 diag ↵NAKAMURA Takumi2016-03-213-23/+9
| | | | | | | | formatting." It seems the test wouldn't expect if default target is *-win32. llvm-svn: 264007
* [asan] Set the unhandled exception filter slightly later during startupReid Kleckner2016-03-211-4/+10
| | | | | | | | | | | VS 2015 moved the priority of their exception filter initializer from XIY to XCAA. We now set ours to XCAB, which makes it run after both CRT versions but before user constructors, as it should. Fixes null_deref.cc and a variety of related tests with VS 2015. Only 4 failures remain. llvm-svn: 264006
* [asan] Add new _*_base interceptors for VS 2015Reid Kleckner2016-03-212-0/+24
| | | | | | | | | There are some places in the CRT (such as mbctype) that directly call _malloc_base. If you are incrementally linking a binary with ASan from before this change, this change appears to result in a linker error. Retrying the link succeeds for some reason. llvm-svn: 264005
* Move ownership of Pass File's to the MachoLinkingContext.Pete Cooper2016-03-217-12/+27
| | | | | | | | | In trying to fix the leaks in the MachO lld codebase, we need to have a better model for file and atom ownership. Having the context own everything seems like the simplest model, so change all the passes to allocate File's on the context instead of owning files as a member. llvm-svn: 264004
* [sancov] do not instrument nodes that are full pre-dominatorsMike Aizatsky2016-03-211-10/+17
| | | | | | | | | | | | | Summary: Without tree pruning clang has 2,667,552 points. Wiht only dominators pruning: 1,515,586. With both dominators & predominators pruning: 1,340,534. Resubmit of r262103. Differential Revision: http://reviews.llvm.org/D18341 llvm-svn: 264003
* [CUDA] Add documentation explaining how to detect clang vs nvcc.Justin Lebar2016-03-211-0/+28
| | | | llvm-svn: 264002
* Fixed some cases in the modularize assistant mode where header file names ↵John Thompson2016-03-212-1/+19
| | | | | | didn't translate to valid module names. llvm-svn: 264001
* AMDGPU: Fix dangling references introduced by r263982Nicolai Haehnle2016-03-211-3/+5
| | | | | | | Fixes Valgrind errors on the test cases that were reported as failing by buildbots. llvm-svn: 264000
* [ELF] Simplify code a bit. No functional change.Davide Italiano2016-03-211-3/+1
| | | | llvm-svn: 263999
* [asan] Add strrchr to asan_win_dll_thunk.Evgeniy Stepanov2016-03-211-0/+1
| | | | | | "dll_host.cc" test says there is a mismatch. llvm-svn: 263998
* [Perf-training] Adding support for tests to skip the clang driverChris Bieneman2016-03-215-2/+69
| | | | | | | | | | This patch adds a new set of substitutions to the lit run lines for order files and PGO generation which run the clang driver to get the cc1 command, then execute the cc1 command directly. This allows the scripts to bypass profiling the clang driver over and over again. The approach in this patch was discussed via IRC with Sean Silvas. Special thanks to Daniel Dunbar whose out-of-tree code I liberally plagiarized. llvm-svn: 263997
* [modules] Store mangling numbers in a deterministic order so they don't ↵Richard Smith2016-03-212-6/+5
| | | | | | cause the resulting .pcm files to be nondeterministic. llvm-svn: 263996
OpenPOWER on IntegriCloud