summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Add fast-isel test cases for _mm_cvtu32_sd, _mm_cvtu64_sd, ↵Craig Topper2018-05-131-0/+98
| | | | | | _mm_cvtu32_ss, and _mm_cvtu64_ss. llvm-svn: 332204
* [X86] Emit better code for _mm_cvtu32_sd, _mm_cvtu64_sd, _mm_cvtu32_ss, and ↵Craig Topper2018-05-133-12/+16
| | | | | | | | | | _mm_cvtu64_ss. We can use direct C code for these that will use uitofp and insertelement instructions. For the versions that take an explicit rounding mode we can't do this. llvm-svn: 332203
* [X86] Extend instcombine folds for pclmuldq intrinsics to the 256 and 512 ↵Craig Topper2018-05-132-9/+198
| | | | | | bit version. llvm-svn: 332202
* Use const_iterator in DWARFUnitJan Kratochvil2018-05-131-3/+3
| | | | | | | Function DWARFUnit::GetDIE is using m_die_array only for reading so it can use DWARFDebugInfoEntry::const_iterator. llvm-svn: 332201
* Revert "Protect DWARFCompileUnit::m_die_array by a new mutex"Jan Kratochvil2018-05-132-18/+3
| | | | | | | | | Pavel Labath found this patch is incomplete and racy. I think there needs to be some more mutexes even before considering DW_TAG_partial_unit. This reverts commit 331229 which was: https://reviews.llvm.org/D40470 llvm-svn: 332200
* [X86] Add missing test for the InstCombines of pclmulqdq.Craig Topper2018-05-131-0/+80
| | | | | | Apparently this test was lost when r293151 was committed. It was present in the review, but not the commit. llvm-svn: 332199
* [X86] Remove and autoupgrade masked vpermd/vpermps intrinsics.Craig Topper2018-05-136-59/+53
| | | | llvm-svn: 332198
* Follow-up to rL332176 by adding a test case for PR37264.Dimitry Andric2018-05-131-0/+12
| | | | | | Noticed by Simon Pilgrim. llvm-svn: 332197
* AMDGPU: Rename OpenCL lowering pass to be R600 specific.Matt Arsenault2018-05-134-10/+11
| | | | | | | | | | | | | | | | | | This pass is a) broken. b) r600 specific. Fixing (a) is a bit more non-trivial, but fixing (b) is easy. Move this pass to being R600 only for now. This pass does pass all the unit tests, however clang no longer generates code that looks like the unit test input, so fixing the pass requires fixing the tests and the pass as one, and checking it works with clang still. Patch by Dave Airlie llvm-svn: 332196
* AMDGPU: Make undef legal for v2i16/v2f16Matt Arsenault2018-05-132-4/+4
| | | | | | | This is apparently necessary to stop undef from being turned into a build_vector of 0s. llvm-svn: 332195
* Added atomic_fetch_min, max, umin, umax intrinsics to clang.Elena Demikhovsky2018-05-138-3/+84
| | | | | | | | | These intrinsics work exactly as all other atomic_fetch_* intrinsics and allow to create *atomicrmw* with ordering. Updated the clang-extensions document. Differential Revision: https://reviews.llvm.org/D46386 llvm-svn: 332193
* Fixing build bot error: adding const qualifiers to std::sort lambda.Puyan Lotfi2018-05-131-1/+1
| | | | | | Errors were not reproducible on clang-6.0 on ubuntu 16.04. llvm-svn: 332192
* [NFC] MIR-Canon: switching to a stable string sorting of instructions.Puyan Lotfi2018-05-132-5/+12
| | | | llvm-svn: 332191
* [sanitizer] Replace #if SANITIZER_NETBSD with #if ↵Vitaly Buka2018-05-132-13/+22
| | | | | | SANITIZER_INTERCEPT___LIBC_MUTEX llvm-svn: 332190
* [X86] Add some load folding patterns for cvtsi2ss/sd into intrinsic ↵Craig Topper2018-05-133-1/+61
| | | | | | instructions. llvm-svn: 332189
* [X86] Remove some unused CHECK lines from tests.Craig Topper2018-05-132-12/+0
| | | | llvm-svn: 332188
* [X86] Remove an autoupgrade legacy cvtss2sd intrinsics.Craig Topper2018-05-137-102/+67
| | | | llvm-svn: 332187
* [X86] Remove and autoupgrade cvtsi2ss/cvtsi2sd intrinsics to match what ↵Craig Topper2018-05-1216-190/+142
| | | | | | clang has used for a very long time. llvm-svn: 332186
* [x86] Remove a comment obviated by r330269. Should have deleted theChandler Carruth2018-05-121-5/+0
| | | | | | | | comment in the same revision but missed it. Thanks to Dimitry Andric for catching this! llvm-svn: 332177
* Clear converters map after X86 Domain Reassignment to avoid crashesDimitry Andric2018-05-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | Summary: As reported in PR37264, in some cases the X86 Domain Reassignment `runOnMachineFunction()` is called twice. Because it only deletes the `.second` members of its `InstrConverterBaseMap`, and does not clean up the map itself, this can lead to double frees and crashes. Use `DeleteContainerSeconds()` instead, so the `Converters` map can safely be reinitialized and its members re-deleted for each X86 Domain Reassignment pass. Reviewers: guyblank, craig.topper Reviewed By: craig.topper Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D46425 llvm-svn: 332176
* [NFC] Remove inaccurate commentJF Bastien2018-05-121-3/+0
| | | | | | | | | | | | | | | Summary: r271558 moved getManagedStaticMutex's mutex from a function-local static to using call_once, but left a comment added in r211424. That comment is now erroneous, remove it. Reviewers: zturner, chandlerc Subscribers: aheejin, llvm-commits Differential Revision: https://reviews.llvm.org/D46784 llvm-svn: 332175
* llc: don't call llvm_shutdown twiceJF Bastien2018-05-121-1/+0
| | | | | | | | | | | | | | | Summary: InitLLVM already calls llvm_shutdown, but llc registers for shutdown with llvm_shutdown_obj so it gets called twice. It's not hurting anything, but it's also not useful, so don't do it. Reviewers: ruiu Subscribers: aheejin, llvm-commits Differential Revision: https://reviews.llvm.org/D46788 llvm-svn: 332174
* [X86] Add WriteFCMOV scheduler class for x87 CMOVsSimon Pilgrim2018-05-1211-16/+15
| | | | llvm-svn: 332173
* [mips] Initialize the long branch pass for testing purposesSimon Dardis2018-05-123-2/+8
| | | | llvm-svn: 332172
* [sanitizer] Fix typo in macro nameVitaly Buka2018-05-122-2/+2
| | | | llvm-svn: 332171
* [X86] Remove some unused masked conversion intrinsics that can be replaced ↵Craig Topper2018-05-125-210/+177
| | | | | | | | with an older intrinsic and a select. This is what clang already uses. llvm-svn: 332170
* COFF: ICF a section and its associated sections as a unit.Peter Collingbourne2018-05-122-4/+120
| | | | | | | | | | | | This is needed to avoid merging two functions with identical instructions but different xdata. It also reduces binary size by deduplicating identical pdata sections. Fixes PR35337. Differential Revision: https://reviews.llvm.org/D46672 llvm-svn: 332169
* Reapply "[PR16756] Use SSAUpdaterBulk in JumpThreading."Michael Zolotukhin2018-05-121-26/+30
| | | | | | | | | Stage3/stage4 bootstrap miscompares should be fixed by a non-determinism fix in IDF (r332167). This reverts commit r330446. llvm-svn: 332168
* [IDF] Enforce the returned blocks to be sorted.Michael Zolotukhin2018-05-122-5/+81
| | | | | | | | | | | | | | | | | | | | Summary: Currently the order of blocks returned by `IDF::calculate` can be non-deterministic. This was discovered in several attempts to enable SSAUpdaterBulk for JumpThreading (which led to miscompare in bootstrap between stage 3 and stage4). Originally, the blocks were put into a priority queue with a depth level as their key, and this patch adds a DFSIn number as a second key to specify a deterministic order across blocks from one level. The solution was suggested by Daniel Berlin. Reviewers: dberlin, davide Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D46646 llvm-svn: 332167
* [AMDGPU] Fix amdgpu-waves-per-eu accounting in schedulerStanislav Mekhanoshin2018-05-123-3/+598
| | | | | | | | | | We cannot query this attribute from a subtarget given a machine function. At this point attribute itself is already unavailable and can only be obtained through MFI. Differential Revision: https://reviews.llvm.org/D46781 llvm-svn: 332166
* Revert "[LLDB] Support GNU-style compressed debug sections (.zdebug)"Davide Italiano2018-05-124-135/+135
| | | | | | | | | | This reverts commit r332162 as it breaks the bots (Ubuntu 14.04) with the following message: Build Command Output: objcopy: option '--compress-debug-sections' doesn't allow an argument llvm-svn: 332165
* Add requirement of x86 target for test.Douglas Yung2018-05-121-0/+2
| | | | llvm-svn: 332164
* [LanguageRuntime/ObjC] Turn off ISA logging once and for all.Davide Italiano2018-05-121-4/+6
| | | | | | On behalf of Jim, who's out today. llvm-svn: 332163
* [LLDB] Support GNU-style compressed debug sections (.zdebug)Davide Italiano2018-05-124-135/+135
| | | | | | | | Patch by Erik Welander! Differential Revision: https://reviews.llvm.org/D45628 llvm-svn: 332162
* Requirements can have & in them!Chris Matthews2018-05-121-1/+1
| | | | | | Lets escape those so the XML is valid! llvm-svn: 332161
* Force the PS4 clang ABI version to 6.Douglas Yung2018-05-124-0/+22
| | | | | | | | | | | | The PS4 requires clang ABI version 6 for compatibility reasons. This change forces this and if the user specifies a different version when the PS4 target is specified, the compiler emits a warning that the specified version is being ignored. Reviewers: probinson Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D46767 llvm-svn: 332160
* [libcxx] [test] Update msvc_stdlib_force_include.hpp.Stephan T. Lavavej2018-05-111-4/+0
| | | | llvm-svn: 332159
* [sanitizer] Allow Fuchsia symbolizer to be reused by Myriad RTEMSWalter Lee2018-05-115-21/+104
| | | | | | | | | | | Like Fuchsia, Myriad RTEMS uses an off-line symbolizer -- we just need a custom backtrace frame string. Move this definition to sanitizer_fuchsia.h; the corresponding RTEMS one will be added when we add sanitizer_rtems.h. Differential Revision: https://reviews.llvm.org/D46462 llvm-svn: 332157
* Add the message attribute to skippedChris Matthews2018-05-112-6/+12
| | | | | | | JUnit xml allows for a message attribute to be displayed on skips. Lets populate that with an analysis of why we skipped the test. llvm-svn: 332156
* [DAG] add convenience function to propagate FMF; NFCSanjay Patel2018-05-112-8/+15
| | | | | | | | | There's only one use of this currently, but that could change with D46563. Either way, we shouldn't have to update code outside of the flags struct when those flag definitions change. llvm-svn: 332155
* AMDGPU/GlobalISel: Implement select() for >32-bit G_STORETom Stellard2018-05-113-5/+47
| | | | | | | | | | Reviewers: arsenm, nhaehnle Subscribers: kzhuravl, wdng, yaxunl, rovka, kristof.beyls, dstuttard, tpr, llvm-commits, t-tye Differential Revision: https://reviews.llvm.org/D46153 llvm-svn: 332154
* [MemorySSA] getIncomingValueForBlock should return a MemoryAccess.Alina Sbirlea2018-05-111-1/+1
| | | | | | | | | | | | Summary: getIncomingValueForBlock is just a wrapper API that should return a MemoryAccess, instead of a generic Value. Reviewers: george.burgess.iv Subscribers: sanjoy, jlebar, Prazek, llvm-commits Differential Revision: https://reviews.llvm.org/D46779 llvm-svn: 332153
* [clang-tidy] Fixing fuchsia-restrict-includes-headers testJulie Hockett2018-05-111-3/+3
| | | | | | Removing filepaths so windows tests pass. llvm-svn: 332152
* [CodeExtractor] Allow extracting blocks with exception handlingSergey Dmitriev2018-05-114-37/+203
| | | | | | | | | | | | | | | | | This is a CodeExtractor improvement which adds support for extracting blocks which have exception handling constructs if that is legal to do. CodeExtractor performs validation checks to ensure that extraction is legal when it finds invoke instructions or EH pads (landingpad, catchswitch, or cleanuppad) in blocks to be extracted. I have also added an option to allow extraction of blocks with alloca instructions, but no validation is done for allocas. CodeExtractor caller has to validate it himself before allowing alloca instructions to be extracted. By default allocas are still not allowed in extraction blocks. Differential Revision: https://reviews.llvm.org/D45904 llvm-svn: 332151
* [DAG] clean up flag propagation for binops; NFCISanjay Patel2018-05-112-36/+22
| | | | llvm-svn: 332150
* COFF: Add a flag for disabling string tail merging.Peter Collingbourne2018-05-114-2/+27
| | | | | | | | | | | We discovered (crbug.com/838449#c24) that string tail merging can negatively affect compressed binary size, so provide a flag to turn it off for users who care more about compressed size than uncompressed size. Differential Revision: https://reviews.llvm.org/D46780 llvm-svn: 332149
* Overhaul unicode handling in xunit outputChris Matthews2018-05-111-6/+10
| | | | | | | I have seen a lot of errors where the xunit does not encode unicode test output correctly. Handle that explicitly now. llvm-svn: 332148
* AMDGPU/SI: Don't promote alloca to vector for AddrSpaceCast instruction.Changpeng Fang2018-05-112-1/+27
| | | | | | | | | | | | | Summary: We have no logic to promote alloca to vector for an AddrSpaceCast instruction. Reviewer: arsenm Differential Revision: https://reviews.llvm.org/D45993 llvm-svn: 332147
* [X86] Remove and autoupgrade a bunch of FMA instrinsics that are no longer ↵Craig Topper2018-05-118-379/+95
| | | | | | used by clang. llvm-svn: 332146
* [libFuzzer] [NFC] Split fuzzer.test into smaller testsGeorge Karpenkov2018-05-1113-71/+65
| | | | | | | | | | | | | | | | | | | | | Keeping fuzzer.test together as a gigantic test has no advantages and multiple disadvantages: - Worse test parallelization (fuzzer.test is always blocking the test run on a machine with many cores) - Debugging test failures is made more difficult (not clear what fails from fuzzer.test failing) - Makes porting tests to new platforms more difficult (whenever fuzzer.test fails have to inspect the output to figure out what is going on, and then restart all of it) - Hides dead code (in our case, "Done1000000" FileCheck variable was never used, DISABLED: not %t-UninstrumentedTest-Uninstrumented was never compiled, and there was small amount of duplication vs. simple-cmp.test) - Makes correspondence between LIT .test files and .cpp files less straightforward Differential Revision: https://reviews.llvm.org/D46557 llvm-svn: 332145
OpenPOWER on IntegriCloud