summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* COFF: Update windows_support.html.Rui Ueyama2015-09-031-26/+5
| | | | llvm-svn: 246786
* [ARM] Add a test case for revision 243956.Quentin Colombet2015-09-031-0/+35
| | | | llvm-svn: 246785
* Sink COFF.h MC include into .cpp filesReid Kleckner2015-09-036-1/+5
| | | | | | | | This prevents MC clients from getting COFF.h, which conflicts with winnt.h macros. Also a minor IWYU cleanup. Now the only public headers including COFF.h are in Object, and they actually need it. llvm-svn: 246784
* i386 and i686 are equivalent, update the test accordingly.Zachary Turner2015-09-031-1/+1
| | | | llvm-svn: 246783
* Revert "[AArch64] Improve load/store optimizer to handle LDUR + LDR."Chad Rosier2015-09-032-182/+21
| | | | | | | | This reverts commit r246769. This appears to have broken Multisource/Benchmarks/tramp3d-v4. llvm-svn: 246782
* [x86] enable machine combiner reassociations for scalar 'xor' instsSanjay Patel2015-09-032-0/+51
| | | | llvm-svn: 246781
* COFF: Ignore /GUARDSYM option.Rui Ueyama2015-09-032-0/+2
| | | | | | | | The option is added in MSVC 2015, and there's no documentation about what the option is. This patch is to ignore the option for now, so that at least LLD is usable with MSVC 2015. llvm-svn: 246780
* Fix assertion failure in LLParser::ConvertValIDToValueKarl Schimpf2015-09-033-3/+8
| | | | | | | | | | | Summary: Fixes bug 24645. Problem appears to be that the type may be undefined when ConvertValIDToValue is called. Reviewers: kcc Subscribers: llvm-commits llvm-svn: 246779
* [libclang] Return deduced type for auto type, not the one written in the source.Manuel Klimek2015-09-033-12/+31
| | | | | | | | | | | | It used to work, but was accidentally broken by r179769. The issue with decayed types was fixed by r190796. So this patch partially reverts r179769, and adds more tests. This also fixes PR 18669. Patch by Sergey Kalinichev. llvm-svn: 246778
* Mark TestAttachResume as flaky on linuxPavel Labath2015-09-031-0/+1
| | | | | | | There is a more race condition regarding process detach, which this test exposes, marking as flaky until it is fixed. llvm-svn: 246777
* Fix logging messagePavel Labath2015-09-031-1/+1
| | | | llvm-svn: 246776
* Remove binary characters from test file.Karl Schimpf2015-09-031-0/+0
| | | | llvm-svn: 246775
* Fix SEGV in InlineAsm::ConstraintInfo::Parse.Karl Schimpf2015-09-032-1/+2
| | | | | | | | | | | | | Summary: Fixes bug 24646. Previous code was not checking if an index into a vector was valid, resulting in a SEGV. Fixed by assuming the construct can't be parsed when given this input. Reformat and add test. Differential Revision: http://reviews.llvm.org/D12539 llvm-svn: 246774
* Fix SEGV in InlineAsm::ConstraintInfo::Parse.Karl Schimpf2015-09-031-1/+2
| | | | | | | | Fixes bug 24646. Previous code was not checking if an index into a vector was valid, resulting in a SEGV. Fixed by assuming the construct can't be parsed when given this input. llvm-svn: 246773
* Make a helper routine __throw_future_error, and encapsulate the #ifdef ↵Marshall Clow2015-09-031-72/+43
| | | | | | _LIBCPP_NO_EXCEPTIONS there, instead of duplicating it throughout the code. No functionality change llvm-svn: 246772
* check for fastness before merging in DAGCombiner::MergeConsecutiveStores() Sanjay Patel2015-09-033-12/+101
| | | | | | | | | | | | | | | | Use and check the 'IsFast' optional parameter to TLI.allowsMemoryAccess() any time we have a merged access candidate. Without this patch, we were generating unaligned 16-byte (SSE) memops for x86 targets where those accesses are slow. This change was mentioned in: http://reviews.llvm.org/D10662 and http://reviews.llvm.org/D10905 and will help solve PR21711. Differential Revision: http://reviews.llvm.org/D12573 llvm-svn: 246771
* COFF: /delayload:<DLLNAME> is case-insensitive.Rui Ueyama2015-09-032-2/+2
| | | | llvm-svn: 246770
* [AArch64] Improve load/store optimizer to handle LDUR + LDR.Chad Rosier2015-09-032-21/+182
| | | | | | | | | | | This patch allows the mixing of scaled and unscaled load/stores to form load/store pairs. PR24465 http://reviews.llvm.org/D12116 Many thanks to Ahmed and Michael for fixes and code review. llvm-svn: 246769
* Implement ACLE 2.0 macros of chapters 6.4 and 6.5 for [ARM] and [Aarch64] ↵Alexandros Lamprineas2015-09-034-82/+390
| | | | | | | | | targets. Differential Revision: http://reviews.llvm.org/D12244 Change-Id: Iffd4e822c15e18668fe8868278230ff232ef50aa llvm-svn: 246768
* [AArch64] Reuse MayLoad. NFC.Chad Rosier2015-09-031-1/+1
| | | | llvm-svn: 246767
* XFAIL TestFormatters on android (llvm.org/pr24691)Pavel Labath2015-09-031-0/+2
| | | | | | the test is hitting an assertion in clang. llvm-svn: 246766
* [mips] Added support for choosing between traps and breaks in the integrated ↵Daniel Sanders2015-09-032-0/+30
| | | | | | | | | | | | | | | | assembler macros. Summary: The command line options for these are -Wa,--trap and -Wa,--break. Patch by Scott Egerton. Reviewers: vkalintiris, dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11676 llvm-svn: 246765
* [ARM] Allow passing/returning of __fp16 argumentsOliver Stannard2015-09-036-3/+60
| | | | | | | | | | | | | | | | | | | | | The ACLE (ARM C Language Extensions) 2.0 allows the __fp16 type to be used as a functon argument or return type (ACLE 1.1 did not). The current public release of the AAPCS (2.09) states that __fp16 values should be converted to single-precision before being passed or returned, but AAPCS 2.10 (to be released shortly) changes this, so that they are passed in the least-significant 16 bits of either a GPR (for base AAPCS) or a single-precision register (for AAPCS-VFP). This does not change how arguments are passed if they get passed on the stack. This patch brings clang up to compliance with the latest versions of both of these specs. We can now set the __ARM_FP16_ARGS ACLE predefine, and we have always been able to set the __ARM_FP16_FORMAT_IEEE predefine (we do not support the alternative format). llvm-svn: 246764
* [mips] Added support for the div, divu, ddiv and ddivu macros which use ↵Daniel Sanders2015-09-0313-1/+511
| | | | | | | | | | | | | | | | traps and breaks in the integrated assembler. Summary: Patch by Scott Egerton Reviewers: vkalintiris, dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11675 llvm-svn: 246763
* Two more fixes to loop convert.Angel Garcia Gomez2015-09-033-2/+220
| | | | | | | | | | | | Summary: Ensure that the alias has the same type than the loop variable. Now it works with lambda captures. Reviewers: klimek Subscribers: alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D12597 llvm-svn: 246762
* Enable TestFdLeak on linuxPavel Labath2015-09-031-1/+0
| | | | | | it has been consistently passing at least the last 100 builds on the bot. llvm-svn: 246761
* Revert 246755 as it breaks buildbotsOliver Stannard2015-09-036-58/+3
| | | | | | | | | | | | | | | | | | | | | | | | Original commit message: [ARM] Allow passing/returning of __fp16 arguments The ACLE (ARM C Language Extensions) 2.0 allows the __fp16 type to be used as a functon argument or return type (ACLE 1.1 did not). The current public release of the AAPCS (2.09) states that __fp16 values should be converted to single-precision before being passed or returned, but AAPCS 2.10 (to be released shortly) changes this, so that they are passed in the least-significant 16 bits of either a GPR (for base AAPCS) or a single-precision register (for AAPCS-VFP). This does not change how arguments are passed if they get passed on the stack. This patch brings clang up to compliance with the latest versions of both of these specs. We can now set the __ARM_FP16_ARGS ACLE predefine, and we have always been able to set the __ARM_FP16_FORMAT_IEEE predefine (we do not support the alternative format). llvm-svn: 246760
* Fix IRBuilder CreateBitOrPointerCast for vector typesSilviu Baranga2015-09-032-2/+73
| | | | | | | | | | | | | | | | | Summary: This function was not taking into account that the input type could be a vector, and wasn't properly working for vector types. This caused an assert when building spec2k6 perlbmk for armv8. Reviewers: rengolin, mzolotukhin Subscribers: silviu.baranga, mzolotukhin, rengolin, eugenis, jmolloy, aemerson, llvm-commits Differential Revision: http://reviews.llvm.org/D12559 llvm-svn: 246759
* tsan: speed up race deduplicationDmitry Vyukov2015-09-0316-116/+175
| | | | | | | | | | | | | | | | | | | | | | | Race deduplication code proved to be a performance bottleneck in the past if suppressions/annotations are used, or just some races left unaddressed. And we still get user complaints about this: https://groups.google.com/forum/#!topic/thread-sanitizer/hB0WyiTI4e4 ReportRace already has several layers of caching for racy pcs/addresses to make deduplication faster. However, ReportRace still takes a global mutex (ThreadRegistry and ReportMutex) during deduplication and also calls mmap/munmap (which take process-wide semaphore in kernel), this makes deduplication non-scalable. This patch moves race deduplication outside of global mutexes and also removes all mmap/munmap calls. As the result, race_stress.cc with 100 threads and 10000 iterations become 30x faster: before: real 0m21.673s user 0m5.932s sys 0m34.885s after: real 0m0.720s user 0m23.646s sys 0m1.254s http://reviews.llvm.org/D12554 llvm-svn: 246758
* [OPENMP] Fix for http://llvm.org/PR24687: ICE on compilation of R package TPmsm.Alexey Bataev2015-09-032-18/+19
| | | | | | Fixed capturing of VLAs in 'private' clause of the OpenMP directives. llvm-svn: 246757
* Fix deadlock while attaching to inferiorsPavel Labath2015-09-033-149/+159
| | | | | | | | | | | | | | | | | | | | Summary: There was a race condition in the AsyncThread, where we would end up sending a vAttach notification to the thread before it got a chance set up its listener (this can be reproduced by adding a sleep() at the very beginning of ProcessGDBRemote::AsyncThread()). This event would then get lost and we LLDB would deadlock. I fix this by setting up the listener early on, in the ProcessGDBRemote constructor. This should improve the stability of all attach tests. For now, I am removing XTIMEOUT from TestAttachResume, and will watch the buildbots for signs of trouble. Reviewers: clayborg, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12552 llvm-svn: 246756
* [ARM] Allow passing/returning of __fp16 argumentsOliver Stannard2015-09-036-3/+58
| | | | | | | | | | | | | | | | | | | | | The ACLE (ARM C Language Extensions) 2.0 allows the __fp16 type to be used as a functon argument or return type (ACLE 1.1 did not). The current public release of the AAPCS (2.09) states that __fp16 values should be converted to single-precision before being passed or returned, but AAPCS 2.10 (to be released shortly) changes this, so that they are passed in the least-significant 16 bits of either a GPR (for base AAPCS) or a single-precision register (for AAPCS-VFP). This does not change how arguments are passed if they get passed on the stack. This patch brings clang up to compliance with the latest versions of both of these specs. We can now set the __ARM_FP16_ARGS ACLE predefine, and we have always been able to set the __ARM_FP16_FORMAT_IEEE predefine (we do not support the alternative format). llvm-svn: 246755
* [Docs] Fix Sphinx warningJoseph Tremoulet2015-09-031-1/+1
| | | | | | Title underline was too short. llvm-svn: 246754
* Fix rare failure in TestProcessIOPavel Labath2015-09-031-6/+5
| | | | | | | | | | | | | | | | | | | | | Summary: There was a race condition in Process class, where we would not wait for process stdout to propagate fully before we would shut down the connection (repro case: slow down the stdio thread by placing a sleep right at the end of the while loop in Communication::ReadThread). The Process class already tried to solve this problem by synchronizing with the read thread in Process::ShouldBroadcastEvent, but unfortunately the connection got closed before that in Process::SetExitStatus. I solve this issue by delaying the connection shutdown until we get a chance to process the event and synchronize. Alternatively, I could have moved the synchronization point to an earlier point in SetExitStatus, but it seems safer to delay the shutdown until other things get a chance to notice the process has exited. Reviewers: clayborg, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12558 llvm-svn: 246753
* [WinEH] Add llvm.eh.exceptionpointer intrinsicJoseph Tremoulet2015-09-036-3/+99
| | | | | | | | | | | | | | | | | Summary: This intrinsic can be used to extract a pointer to the exception caught by a given catchpad. Its argument has token type and must be a `catchpad`. Also clarify ExtendingLLVM documentation regarding overloaded intrinsics. Reviewers: majnemer, andrew.w.kaylor, sanjoy, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12533 llvm-svn: 246752
* [WinEH] Add cleanupendpad instructionJoseph Tremoulet2015-09-0331-135/+635
| | | | | | | | | | | | | | | | | | | | | | | Summary: Add a `cleanupendpad` instruction, used to mark exceptional exits out of cleanups (for languages/targets that can abort a cleanup with another exception). The `cleanupendpad` instruction is similar to the `catchendpad` instruction in that it is an EH pad which is the target of unwind edges in the handler and which itself has an unwind edge to the next EH action. The `cleanupendpad` instruction, similar to `cleanupret` has a `cleanuppad` argument indicating which cleanup it exits. The unwind successors of a `cleanuppad`'s `cleanupendpad`s must agree with each other and with its `cleanupret`s. Update WinEHPrepare (and docs/tests) to accomodate `cleanupendpad`. Reviewers: rnk, andrew.w.kaylor, majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12433 llvm-svn: 246751
* AVX512: Implemented encoding and intrinsics for vplzcntq, vplzcntd, ↵Igor Breger2015-09-0313-160/+1726
| | | | | | | | | | vpconflictq, vpconflictd Added tests for intrinsics and encoding. Differential Revision: http://reviews.llvm.org/D11931 llvm-svn: 246750
* [cmake] Remove LLVM_NO_RTTI.Bruce Mitchener2015-09-0382-164/+1
| | | | | | | | | | | | | | Summary: This doesn't exist in other LLVM projects any longer and doesn't do anything. Reviewers: chaoren, labath Subscribers: emaste, tberghammer, lldb-commits, danalbert Differential Revision: http://reviews.llvm.org/D12586 llvm-svn: 246749
* [OPENMP 4.1] Codegen for extended format of 'if' clause.Alexey Bataev2015-09-0310-41/+53
| | | | | | Fixed codegen for extended format of 'if' clauses with special 'directive-name-modifier' + ast-print tests for extended format of 'if' clause. llvm-svn: 246748
* [OPENMP 4.1] Parsing/sema analysis for extended format of 'if' clause.Alexey Bataev2015-09-0322-99/+470
| | | | | | | | | | | | | | | | | OpenMP 4.1 added special 'directive-name-modifier' to the 'if' clause. Format of 'if' clause is as follows: ``` if([ directive-name-modifier :] scalar-logical-expression) ``` The restriction rules are also changed. 1. If any 'if' clause on the directive includes a 'directive-name-modifier' then all 'if' clauses on the directive must include a 'directive-name-modifier'. 2. At most one 'if' clause without a 'directive-name-modifier' can appear on the directive. 3. At most one 'if' clause with some particular 'directive-name-modifier' can appear on the directive. 'directive-name-modifier' is important for combined directives and allows to separate conditions in 'if' clause for simple sub-directives in combined directive. This 'directive-name-modifier' identifies the sub-directive to which this 'if' clause must be applied. llvm-svn: 246747
* Fix cmake build.Bruce Mitchener2015-09-036-1/+10
| | | | llvm-svn: 246746
* [MIPS64] Emulate MSA branch instructionsSagar Thakur2015-09-032-36/+314
| | | | | | | | | This patch adds MSA branch instruction emulation for MIPS64. Reviewers: tberghammer, jaydeep Subscribers: tberghammer, lldb-commits, nitesh.jain, mohit.bhakkad (Mohit Bhakkad), bhushan (Bhushan Attarde) Differential: http://reviews.llvm.org/D12356 llvm-svn: 246745
* Purge a few places where *LanguageRuntime.h was being used when it Jim Ingham2015-09-0310-11/+2
| | | | | | wasn't needed. llvm-svn: 246744
* CXXFormatterFunctions.{h|cpp} is not a good thing to have around, so start ↵Enrico Granata2015-09-036-988/+1037
| | | | | | splitting stuff in different files in preparation for removing it and factoring formatters to the plugins where they belong llvm-svn: 246743
* [asan] Split a test in two.Evgeniy Stepanov2015-09-032-12/+36
| | | | | | | wait3 is gone in android-21. Move it out of the common (wait/waitpid/wait3) test, and mark as unsupported on Android. llvm-svn: 246742
* [asan] Replace valloc with posix_memalign in test.Evgeniy Stepanov2015-09-031-5/+2
| | | | | | valloc is gone in android-21. llvm-svn: 246741
* Remove the list of all languages in the help for "help language" sinceJim Ingham2015-09-031-4/+0
| | | | | | | | | | almost all the elements on the list can't actually be passed to the language command and all the ones that can have already been listed in the subcommands list. <rdar://problem/22551082> llvm-svn: 246740
* Tweak llvm/test/tools/gold/X86/parallel.ll to run with pthread-unaware ↵NAKAMURA Takumi2015-09-031-4/+1
| | | | | | | | | ld.gold on Linux. If ld.gold is configured without --enable-thread, ld.gold might not load libpthread.so. Preloading LLVMgold.so loads also libpthread.so. llvm-svn: 246739
* Jim told me about a cleaner way to include headers from plug-ins.Sean Callanan2015-09-0310-10/+10
| | | | | | | | This is still something I need to fix, but at least it's not so ugly, and it's consistent with the other code that does that so we will catch it when we purge all such code. llvm-svn: 246738
* In preparation for factoring persistent variables into a generic part and aSean Callanan2015-09-0315-17/+53
| | | | | | | | | | | | Clang-specific part, create the ExpressionVariable source/header file and move ClangExpressionVariable into the Clang expression parser plugin. It is expected that there are some ugly #include paths... these will be resolved by either (1) making that code use generic expression variables (once they're separated appropriately) or (2) moving that code into a plug-in, often the expression parser plug-in. llvm-svn: 246737
OpenPOWER on IntegriCloud