summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[OPENMP] Codegen for untied tasks."Alexey Bataev2016-04-197-238/+92
| | | | | | This reverts commit 266722. llvm-svn: 266724
* Minor improvement to debug output for Function Importer (NFC)Mehdi Amini2016-04-191-9/+9
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266723
* [OPENMP] Codegen for untied tasks.Alexey Bataev2016-04-197-92/+238
| | | | | | If the untied clause is present on a task construct, any thread in the team can resume the task region after a suspension. Patch adds proper codegen for untied tasks. llvm-svn: 266722
* Add a description for the PatchableFunction pass; NFCSanjoy Das2016-04-191-1/+2
| | | | llvm-svn: 266721
* Disable the PatchableFunction pass for NVPTX & WasmSanjoy Das2016-04-192-0/+2
| | | | | | | PatchableFunction requires AllVRegsAllocated that these targets don't provide. llvm-svn: 266720
* Warn if function or variable cannot be implicitly instantiatedSerge Pavlov2016-04-1917-12/+218
| | | | | | | | | | | | With this patch compiler emits warning if it tries to make implicit instantiation of a template but cannot find the template definition. The warning can be suppressed by explicit instantiation declaration or by command line options -Wundefined-var-template and -Wundefined-func-template. The implementation follows the discussion of http://reviews.llvm.org/D12326. Differential Revision: http://reviews.llvm.org/D16396 llvm-svn: 266719
* Correct IDF calculator for ReverseIDFDaniel Berlin2016-04-194-7/+21
| | | | | | | | | | | | | | Summary: Need to use predecessors for reverse graph, successors for forward graph. succ_iterator/pred_iterator are not compatible, this patch is all the work necessary to work around that (which is what everywhere else does). Not sure if there is a better way, so cc'ing some random folks to take a gander :) Reviewers: dblaikie, qcolombet, echristo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18796 llvm-svn: 266718
* [Orc] Disable RPC callST unit test until the S390 failures encountered duringLang Hames2016-04-191-20/+22
| | | | | | | http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/3459 can be debugged/fixed. llvm-svn: 266717
* [LSAN] Fix test swapcontext.cc on MIPSSagar Thakur2016-04-194-9/+14
| | | | | | | | | Summary: There is no frame validity check in the slow unwinder like there is in the fast unwinder due to which lsan reports a leak even for heap allocated coroutine in the test swapcontext.cc. Since mips/linux uses slow unwindwer instead of fast unwinder, the test fails for mips/linux. Therefore adding the checks before unwinding fixes the test for mips/linux. Reviewers: samsonov, earthdok, kcc Subscribers: llvm-commits, mohit.bhakkad, jaydeep Differential: http://reviews.llvm.org/D18690 llvm-svn: 266716
* Introduce a "patchable-function" function attributeSanjoy Das2016-04-1916-26/+234
| | | | | | | | | | | | | | | | | Summary: The `"patchable-function"` attribute can be used by an LLVM client to influence LLVM's code generation in ways that makes the generated code easily patchable at runtime (for instance, to redirect control). Right now only one patchability scheme is supported, `"prologue-short-redirect"`, but this can be expanded in the future. Reviewers: joker.eph, rnk, echristo, dberris Subscribers: joker.eph, echristo, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D19046 llvm-svn: 266715
* LTO: Adapt to LLVM API changes in r266713Duncan P. N. Exon Smith2016-04-192-2/+2
| | | | llvm-svn: 266714
* IR: Rename API for enabling ODR uniquing of DITypes, NFCDuncan P. N. Exon Smith2016-04-198-34/+34
| | | | | | | | | | | As per David's review, rename everything in the new API for ODR type uniquing of debug info. ensureDITypeMap => enableDebugTypeODRUniquing destroyDITypeMap => disableDebugTypeODRUniquing hasDITypeMap => isODRUniquingDebugTypes llvm-svn: 266713
* [ORC] Whitespace.Lang Hames2016-04-191-4/+4
| | | | llvm-svn: 266712
* [Orc] Tidy up some of the RPC primitives, add a unit-test for the callSTLang Hames2016-04-192-65/+152
| | | | | | (synchronous call) primitive. llvm-svn: 266711
* test infra cleanup: convert test_runner lib into packageTodd Fiala2016-04-196-30/+19
| | | | | | | | | | | | | | | | | | | | | Also does the following: * adopts PEP8 naming convention for OptionalWith class (now optional_with). * moves test_runner/lldb_utils.py to lldbsuite/support/optional_with.py. * packages tests in a subpackage of test_runner per recommendations in http://the-hitchhikers-guide-to-packaging.readthedocs.org/en/latest/creation.html Tests can be run from within pacakges/Python/lldbsuite/test via this command: python -m unittest discover test_runner The primary cleanup this allows is avoiding the need to muck with the PYTHONPATH variable from within the source files. This also aids some of the static code checkers as they don't need to run code to determine the proper python path. llvm-svn: 266710
* BitcodeWriter: Break recursion when enumerating Metadata, almost NFCDuncan P. N. Exon Smith2016-04-193-77/+80
| | | | | | | | | | | Use a worklist instead of recursing through MDNode operands in ValueEnumerator. The actual record output order has changed slightly, but otherwise there's no functionality change. I had to update test/Bitcode/metadata-function-blocks.ll. I renumbered nodes so they continue to match the implicit record ids. llvm-svn: 266709
* [CUDA] Add --no-cuda-noopt-debug, which disables --cuda-noopt-debug.Justin Lebar2016-04-193-1/+8
| | | | | | | | | | Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D19251 llvm-svn: 266708
* [CUDA] Add --cuda-compile-host-device, which overrides --cuda-host-only and ↵Justin Lebar2016-04-194-23/+62
| | | | | | | | | | | | | | | | --cuda-device-only. Summary: This completes the flag's tristate, letting you override it at will on the command line. Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D19248 llvm-svn: 266707
* Add a test case to check a member's default constructor is also run.Akira Hatanaka2016-04-191-0/+4
| | | | | | This is a follow-up to r266645. llvm-svn: 266706
* vim: add swiftcc keywordSaleem Abdulrasool2016-04-191-3/+3
| | | | | | Update the syntax highlighting for SVN r265480. llvm-svn: 266705
* COFF: Support /manifestinput command line option.Rui Ueyama2016-04-196-6/+76
| | | | | | | | | | | | | | | | | | | Manifest file is a separate or embedded XML file having metadata of an executable. As it is XML, it can contain various types of information. Probably the most popular one is to request escalated priviledges. Usually the linker creates an XML file and embed that file into an executable. However, there's a way to supply an XML file from command line. /manifestniput is it. Apparently it is over-designed here, but if you supply two or more manifest files, then the linker needs to merge the files into a single XML file. A good news is that we don't need to do that ourselves. MT.exe command can do that, so we call the command from the linker in this patch. llvm-svn: 266704
* Make tuples constructors conditionally EXPLICIT. See N4387Eric Fiselier2016-04-1912-12/+385
| | | | llvm-svn: 266703
* Fix Windows build.Chaoren Lin2016-04-191-0/+1
| | | | llvm-svn: 266702
* [lanai] Set boolean contentss to ZeroOrOneBooleanContent.Jacques Pienaar2016-04-191-0/+3
| | | | llvm-svn: 266701
* Increase SmallVector size for ConstantUniqueMap::getHashValue() (NFC)Mehdi Amini2016-04-191-1/+1
| | | | | | | | This remove totally any malloc from this function on my profile (from 155k before). From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266700
* Port DemandedBits to the new pass manager.Michael Kuperstein2016-04-1811-55/+120
| | | | | | Differential Revision: http://reviews.llvm.org/D18679 llvm-svn: 266699
* [ObjC++] Fix crash when emitting debug info for a block member capturing this.Adrian Prantl2016-04-182-3/+27
| | | | | | rdar://problem/23871824 llvm-svn: 266698
* Add missing #include, found by modules selfhost.Richard Smith2016-04-181-2/+3
| | | | llvm-svn: 266697
* Add missing header, found by modules selfhost.Richard Smith2016-04-181-0/+2
| | | | llvm-svn: 266696
* Mark -Xclang as being a compilation-only option so that the clang driverRichard Smith2016-04-182-1/+13
| | | | | | | | | doesn't warn if it's passed to a link action. This matches the behavior for most other compilation-only options (including things like -f flags), and is necessary to suppress warnings on systems like cmake that always pass all compile flags to the linker. llvm-svn: 266695
* [libFuzzer] try to print correct time in seconds when reporting a timeout. ↵Kostya Serebryany2016-04-183-6/+6
| | | | | | Don't report timeouts while still loading the corpus. llvm-svn: 266693
* [DWARF] Force a linkage_name on an inlined subprogram's abstract origin.Paul Robinson2016-04-1812-27/+112
| | | | | | | | | | | | | When we suppress linkage names, for a non-inlined subprogram the name can still be found in the object-file symbol table, because we have the code address of the subprogram. This is not necessarily the case for an inlined subprogram, so we still want to emit the linkage name in the DWARF. Put this on the abstract-origin DIE because it's common to all inlined instances. Differential Revision: http://reviews.llvm.org/D18706 llvm-svn: 266692
* Remove old DIBuilder::createFunction overload used only by dragonegg, which ↵Reid Kleckner2016-04-182-24/+0
| | | | | | | | does not currently build NFC llvm-svn: 266691
* [msan] Don't hardcode 4kiB page size in msan_test.cc.Marcin Koscielnicki2016-04-181-8/+17
| | | | | | | | | | | | This breaks the valloc test on PowerPC, which has 64kiB pages. Since getting page size portably is nontrivial, and there's already a function for that in __sanitizer, just use it. Unfortunately, sanitizer_common.h conflicts with the interface headers inclucded by msan_test.cc (and a few of its own macros), so we have to declare it manually. Differential Revision: http://reviews.llvm.org/D19227 llvm-svn: 266688
* [modules] Remove some more unnecessary forwarding functions.Richard Smith2016-04-182-74/+43
| | | | llvm-svn: 266687
* Add debugging to the cache pruningMehdi Amini2016-04-181-4/+23
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266686
* CachePruning: fix typo, we accumulate file size here, not timeMehdi Amini2016-04-181-1/+1
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266685
* ARM: use a pseudo-instruction for cmpxchg at -O0.Tim Northover2016-04-189-8/+475
| | | | | | | | | | | | | | | | | The fast register-allocator cannot cope with inter-block dependencies without spilling. This is fine for ldrex/strex loops coming from atomicrmw instructions where any value produced within a block is dead by the end, but not for cmpxchg. So we lower a cmpxchg at -O0 via a pseudo-inst that gets expanded after regalloc. Fortunately this is at -O0 so we don't have to care about performance. This simplifies the various axes of expansion considerably: we assume a strong seq_cst operation and ensure ordering via the always-present DMB instructions rather than v8 acquire/release instructions. Should fix the 32-bit part of PR25526. llvm-svn: 266679
* Fix trip count calculation for parallel loops in runtimeJonathan Peyton2016-04-183-26/+109
| | | | | | | | | | | | | | | The trip count calculation was incorrect for loops with large bounds. For example, for(int i=-2,000,000,000; i < 2,000,000,000; i+=50000000), the trip count calculation had overflow (trying to calculate 2,000,000,000 + 2,000,000,000 with signed integers) and wasn't giving the right value. This patch fixes this error in the runtime by using unsigned integers instead. There is still a bug in the clang compiler component because it warns that there is overflow in the test case file when there isn't. This error isn't there for the Intel Compiler. So for now, the test case is designated as XFAIL. Differential Revision: http://reviews.llvm.org/D19078 llvm-svn: 266677
* Additional test for use-after-scopeKostya Serebryany2016-04-181-0/+14
| | | | | | | | | | | | Summary: Test that asan detects access to the dead variable captured by lambda. Reviewers: aizatsky, kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19238 llvm-svn: 266676
* Runtime support for untied tasksJonathan Peyton2016-04-182-2/+37
| | | | | | | | | | | Introduced a counter of parts of an untied task submitted for execution. The counter controls whether all parts of the task are already finished. The compiler should generate re-submission of partially executed untied task by itself before exiting of each task part except for the lexical last part. Differential Revision: http://reviews.llvm.org/D19026 llvm-svn: 266675
* Fix for pthread_setspecific (TLS and shutdown) problemJonathan Peyton2016-04-183-14/+20
| | | | | | | | | | | | | | | Some codes that use TLS fail intermittently because one thread tries to write TLS values after the TLS key has been destroyed by another thread. This happens when one thread executes library shutdown (and destroys TLS keys), while another thread starts to execute the TLS key destructor routine. Before this change, the kmp_init_runtime flag was checked before calling pthread_* TLS functions, but this flag is set to FALSE later than the destruction of the TLS keys, which leads to failure. The fix is to check kmp_init_gtid instead, as this flag is unset *before* the destruction of TLS keys. Differential Revision: http://reviews.llvm.org/D19022 llvm-svn: 266674
* [sanitizer-coverage] make sure coverage flags are not passed to clang if the ↵Kostya Serebryany2016-04-182-0/+3
| | | | | | driver thinks they are unused llvm-svn: 266673
* [sanitizer-coverage] better docs for -fsanitize-coverage=trace-bbKostya Serebryany2016-04-181-1/+17
| | | | llvm-svn: 266672
* [Hexagon] V60/HVX builtin definitions for clangKrzysztof Parzyszek2016-04-182-13/+3536
| | | | | | | | The builtins already exist in LLVM, but are not exposed to the C/C++ programmers. This patch adds all the information about the builtins needed for clang, as well as a test for all available intrinsics. llvm-svn: 266671
* [libFuzzer] warn if the corpus is emptyKostya Serebryany2016-04-182-1/+5
| | | | llvm-svn: 266670
* [X86][SSE] Test case for PR2585Simon Pilgrim2016-04-181-0/+32
| | | | llvm-svn: 266669
* Rename LocationNode -> SectionsCommand.Rui Ueyama2016-04-182-14/+14
| | | | | | | | They are called sections-command in the doc, so it is nice to keep it consistent with it. https://sourceware.org/binutils/docs/ld/SECTIONS.html#SECTIONS llvm-svn: 266668
* Remove redundant curly braces.Rui Ueyama2016-04-181-3/+3
| | | | llvm-svn: 266667
* Refactor LinkerScript::assignAddresses. NFC.Rui Ueyama2016-04-182-26/+22
| | | | llvm-svn: 266666
OpenPOWER on IntegriCloud