summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Promote fp_to_sint v16f32->v16i16/v16i8 to avoid scalarization.Craig Topper2017-11-293-97/+8
| | | | llvm-svn: 319266
* Replace copyFrom with memcpy.Rafael Espindola2017-11-293-18/+2
| | | | | | | It was only used for --wrap and I don't think the fields with special treatment had a meaningful impact on that feature. llvm-svn: 319265
* [CMake] Use LIST_SEPARATOR rather than escaping in ExternalProject_AddPetr Hosek2017-11-291-2/+3
| | | | | | | | | | | Escaping ; in list arguments passed to ExternalProject_Add doesn't seem to be working in newer versions of CMake (see https://public.kitware.com/Bug/view.php?id=16137 for more details). Use a custom LIST_SEPARATOR instead which is the officially supported way. Differential Revision: https://reviews.llvm.org/D40257 llvm-svn: 319264
* Fix a warning.Zachary Turner2017-11-291-1/+1
| | | | llvm-svn: 319263
* Revert "Add opt-viewer testing"Adam Nemet2017-11-2913-1161/+10
| | | | | | | | This reverts commit r319188. Breaks when c++filt is not available. llvm-svn: 319262
* [X86] Add test cases for fptosi v16f32->v16i8/v16i16 to show scalarization.Craig Topper2017-11-291-0/+112
| | | | llvm-svn: 319261
* [NFC] Minor cleanups in CodeView TypeTableBuilder.Zachary Turner2017-11-282-12/+9
| | | | llvm-svn: 319260
* [X86] Mark ISD::FP_TO_UINT v16i8/v16i16 as Promote under AVX512 instead of ↵Craig Topper2017-11-285-15/+10
| | | | | | | | | | legal. Fix infinite loop in op legalization when promotion requires 2 steps. Previously we had an isel pattern to add the truncate. Instead use Promote to add the truncate to the DAG before isel. The Promote legalization code had to be updated to prevent an infinite loop if promotion took multiple steps because it wasn't remembering the previously tried value. llvm-svn: 319259
* [X86] Regenerate avx512-schedule test.Craig Topper2017-11-281-2/+2
| | | | | | For some reason some sqrt instructions were missing the scheduling comments. llvm-svn: 319258
* [compiler-rt] Avoid unnecessarily hiding inline visibility [NFC]Weiming Zhao2017-11-281-1/+3
| | | | | | | | | | | | | | | | Summary: having fvisibility=hidden obviates the need for fvisibility-inlines-hidden. Reviewers: cryptoad, weimingz, mgorny, vsk, compnerd, peter.smith, nikhgupt Reviewed By: vsk, nikhgupt Subscribers: dberris, mgorny Differential Revision: https://reviews.llvm.org/D40269 llvm-svn: 319257
* AMDGPU: Enable IPRAMatt Arsenault2017-11-288-14/+19
| | | | llvm-svn: 319256
* [XRay][compiler-rt] Fix armhf buildDean Michael Berris2017-11-281-1/+2
| | | | | | | | | rL319241 was a bit too aggressive removing sources dependencies. This restores the actual required dependency for armhf. Follow-up to D39114. llvm-svn: 319255
* [openmp] Set up .arcconfig to point to new Diffusion OMP repositoryBen Hamilton2017-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We want to automatically copy the appropriate mailing list for review requests to the openmp repository. For context, see the proposal and discussion here: http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html Similar to D40179, I set up a new Diffusion repository with callsign "OMP" for OpenMP: https://reviews.llvm.org/source/openmp/ This explicitly updates openmp's .arcconfig to point to the new OMP repository in Diffusion, which will let us use Herald rule H272 to automatically subscribe openmp-commits to review requests. Reviewers: hans, grokos, Hahnfeld Reviewed By: grokos Subscribers: sammccall, klimek, openmp-commits Differential Revision: https://reviews.llvm.org/D40499 llvm-svn: 319254
* [X86] Tag CLFLUSHOPT with same scheduling behaviour as CLFLUSHSimon Pilgrim2017-11-282-4/+5
| | | | llvm-svn: 319253
* [globalisel][tablegen] Fix PR35375 by sign-extending the table value to ↵Daniel Sanders2017-11-282-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | match getConstantVRegVal() Summary: From the bug report: > The problem is that it fails when trying to compare -65536 (or 4294901760) to 0xFFFF,0000. This is because the > constant in the instruction is sign extended to 64 bits (0xFFFF,FFFF,FFFF,0000) and then compared to the non > extended 64 bit version expected by TableGen. > > In contrast, the DAGISelEmitter generates special code for AND immediates (OPC_CheckAndImm), which does not > sign extend. This patch doesn't introduce the special case for AND (and OR) immediates since the majority of it is related to handling known bits that have no effect on the result and GlobalISel doesn't detect known-bits at this time. Instead this patch just ensures that the immediate is extended consistently on both sides of the check. Thanks to Diana Picus for the detailed bug report. Reviewers: rovka Reviewed By: rovka Subscribers: kristof.beyls, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D40532 llvm-svn: 319252
* Change Requires to REQUIRES so that it works properly.Douglas Yung2017-11-281-1/+1
| | | | llvm-svn: 319251
* [X86] Add CLFLUSHOPT schedule testsSimon Pilgrim2017-11-281-0/+36
| | | | llvm-svn: 319250
* [X86][SSE] Add SSE_SHUFP OpndItinsSimon Pilgrim2017-11-281-11/+16
| | | | | | | | Update multi-classes to take the scheduling OpndItins instead of hard coding it. Will be reused in the AVX512 equivalents. llvm-svn: 319249
* Copy the visibility in copyFrom.Rafael Espindola2017-11-283-2/+4
| | | | | | This is simpler and matches bfd's behavior on the changed test. llvm-svn: 319248
* [X86] Test clflushopt intrinsic on 32 and 64-bit targetsSimon Pilgrim2017-11-281-6/+12
| | | | llvm-svn: 319247
* Expand test a bit.Rafael Espindola2017-11-281-13/+23
| | | | | | | | | Also make it more reliable by not depending on the order of the symbols. This makes the next patch easier to read. llvm-svn: 319246
* [X86][SSE] Add SSE_UNPCK/SSE_PUNPCK OpndItinsSimon Pilgrim2017-11-281-49/+61
| | | | | | | | Update multi-classes to take the scheduling OpndItins instead of hard coding it. Will be reused in the AVX512 equivalents. llvm-svn: 319245
* COFF: Simplify construction of safe SEH table. NFCI.Peter Collingbourne2017-11-283-25/+12
| | | | | | | | | Instead of building intermediate sets of exception handlers for each object file, just create one for the final output file. Differential Revision: https://reviews.llvm.org/D40581 llvm-svn: 319244
* [X86][SSE] Use SSE_PACK OpndItins in PACKSS/PACKUS instruction definitionsSimon Pilgrim2017-11-281-30/+30
| | | | | | | | Update multi-classes to take the scheduling OpndItins instead of hard coding it. SSE_PACK will be reused in the AVX512 equivalents. llvm-svn: 319243
* Remove this testAdam Nemet2017-11-281-25/+0
| | | | | | After r319235, we no longer generate this remark. llvm-svn: 319242
* [XRay][compiler-rt] Fix runtime buildDean Michael Berris2017-11-281-20/+11
| | | | | | | | | | | This isolates the per-architecture files from the common files implementing the XRay facilities. Because of the refactoring done in D39114, we were including the definition of the sources in the archive twice, causing link-time failures. Follow-up to D39114. llvm-svn: 319241
* Fix VS2017 narrowing conversion warning. NFCISimon Pilgrim2017-11-281-1/+1
| | | | llvm-svn: 319240
* [X86] Remove unused variable.Craig Topper2017-11-281-1/+0
| | | | llvm-svn: 319239
* Fix spelling. NFC.Rui Ueyama2017-11-281-1/+1
| | | | llvm-svn: 319238
* [LSan] Fix one source of stale segments in the process memory mapping.Alex Shlyapnikov2017-11-282-29/+29
| | | | | | | | | | | | | | | | Summary: Load process memory map after updating the same cache to reflect the umap happening in the process of updating. Also clear out the buffer in case of failed read of /proc/self/maps (not the source of stale segments, but can lead to the similar crash). Reviewers: eugenis Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D40529 llvm-svn: 319237
* Remove unused `using`.Rui Ueyama2017-11-281-1/+0
| | | | llvm-svn: 319236
* Demote this opt remark to DEBUG.Adam Nemet2017-11-282-5/+1
| | | | | | | | | | | | | | | | | | From a random opt-stat output: Top 10 remarks: tailcallelim/tailcall 53% inline/AlwaysInline 13% gvn/LoadClobbered 13% inline/Inlined 8% inline/TooCostly 2% inline/NoDefinition 2% licm/LoadWithLoopInvariantAddressInvalidated 2% licm/Hoisted 1% asm-printer/InstructionCount 1% prologepilog/StackSize 1% llvm-svn: 319235
* [X86] Remove code from combineUIntToFP that tried to favor UINT_TO_FP if ↵Craig Topper2017-11-281-3/+1
| | | | | | | | legal when zero extending from vXi8/vX816. The UINT_TO_FP is immediately converted to SINT_TO_FP when the node is re-evaluated because we'll detect that the sign bit is zero. llvm-svn: 319234
* [X86] Remove custom lowering for uint_to_fp from vXi8/vXi16.Craig Topper2017-11-281-20/+1
| | | | | | We have a DAG combine that uses a zero extend that should prevent this from ever occurring now. llvm-svn: 319233
* [globalisel][tablegen] Add support for importing G_ATOMIC_CMPXCHG, ↵Daniel Sanders2017-11-287-50/+396
| | | | | | | | | | G_ATOMICRMW_* rules from SelectionDAG. GIM_CheckNonAtomic has been replaced by GIM_CheckAtomicOrdering to allow it to support a wider range of orderings. This has then been used to import patterns using nodes such as atomic_cmp_swap, atomic_swap, and atomic_load_*. llvm-svn: 319232
* SROA: Don't create variable fragments that are outside of the variable.Adrian Prantl2017-11-282-0/+94
| | | | | | | | | | | An alloca may be larger than a variable that is described to be stored there. Don't create a dbg.value for fragments that are outside of the variable. This fixes PR35447. https://bugs.llvm.org/show_bug.cgi?id=35447 llvm-svn: 319230
* COFF: Do not add symbols in discarded sections to SEH handler list.Peter Collingbourne2017-11-282-1/+68
| | | | | | Differential Revision: https://reviews.llvm.org/D40576 llvm-svn: 319229
* [cmake] Pass LLVM_USE_LINKER flag when building host tools, e.g.,Don Hinton2017-11-281-1/+4
| | | | | | | | LLVM_OPTIMIZED_TABLEGEN=ON, and not crosscompiling. Differential Revision: https://reviews.llvm.org/D39734 llvm-svn: 319228
* [OPENMP] Generalize capturing of clauses expressions.Alexey Bataev2017-11-283-98/+165
| | | | | | | The handling and capturing of the non-constant expressions of some of the capturable clauses in combined directives is generalized. llvm-svn: 319227
* Add elf-core/RegisterUtilities.{cpp,h} to the project file.Jim Ingham2017-11-281-0/+6
| | | | llvm-svn: 319226
* Add a new clang-tidy module for Fuchsia as an umbrella to diagnose issues ↵Aaron Ballman2017-11-2812-1/+272
| | | | | | | | with the Fuschia and Zircon coding guidelines (https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md). Adds the first of such checkers, which detects when default arguments are declared in a function declaration or when default arguments are used at call sites. Patch by Julie Hockett llvm-svn: 319225
* [SLP] Additional test for PR35354, NFC.Alexey Bataev2017-11-281-0/+13
| | | | llvm-svn: 319224
* [Hexagon] Use stable sort for HexagonShuffler to remove non-deterministic ↵Mandeep Singh Grang2017-11-281-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ordering Summary: This fixes failures in the following tests uncovered by D39245: LLVM :: CodeGen/Hexagon/args.ll LLVM :: CodeGen/Hexagon/constp-extract.ll LLVM :: CodeGen/Hexagon/expand-condsets-basic.ll LLVM :: CodeGen/Hexagon/gp-rel.ll LLVM :: CodeGen/Hexagon/packetize_cond_inst.ll LLVM :: CodeGen/Hexagon/simple_addend.ll LLVM :: CodeGen/Hexagon/swp-stages4.ll LLVM :: CodeGen/Hexagon/swp-vmult.ll LLVM :: CodeGen/Hexagon/swp-vsum.ll LLVM :: MC/Hexagon/align.s LLVM :: MC/Hexagon/asmMap.s LLVM :: MC/Hexagon/dis-duplex-p0.s LLVM :: MC/Hexagon/double-vector-producer.s LLVM :: MC/Hexagon/inst_select.ll LLVM :: MC/Hexagon/instructions/j.s Reviewers: colinl, kparzysz, adasgupt, slarin Reviewed By: kparzysz Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D40227 llvm-svn: 319223
* [OpenMP] Stable sort Privates to remove non-deterministic orderingMandeep Singh Grang2017-11-281-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This fixes the following failures uncovered by D39245: Clang :: OpenMP/task_firstprivate_codegen.cpp Clang :: OpenMP/task_private_codegen.cpp Clang :: OpenMP/taskloop_firstprivate_codegen.cpp Clang :: OpenMP/taskloop_lastprivate_codegen.cpp Clang :: OpenMP/taskloop_private_codegen.cpp Clang :: OpenMP/taskloop_simd_firstprivate_codegen.cpp Clang :: OpenMP/taskloop_simd_lastprivate_codegen.cpp Clang :: OpenMP/taskloop_simd_private_codegen.cpp Reviewers: rjmccall, ABataev, AndreyChurbanov Reviewed By: rjmccall, ABataev Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D39947 llvm-svn: 319222
* Move Memory.{h,cpp} to Common.Rui Ueyama2017-11-2831-151/+54
| | | | | | Differential Revision: https://reviews.llvm.org/D40571 llvm-svn: 319221
* [aarch64][globalisel] Add missing tests from r319216Daniel Sanders2017-11-282-0/+180
| | | | llvm-svn: 319220
* [WebAssembly] Remove initializers from Config.hSam Clegg2017-11-281-13/+13
| | | | | | | | | | | These should get initialized in by Driver.cpp based on command line options. Also, sort entries. Differential Revision: https://reviews.llvm.org/D40570 llvm-svn: 319219
* [PowerPC] Allow tail calls of fastcc functions from C CallingConv functions.Sean Fertile2017-11-282-8/+13
| | | | | | | | Allow fastcc callees to be tail-called from ccc callers. Differential Revision: https://reviews.llvm.org/D40355 llvm-svn: 319218
* Bring r319051 back.Rafael Espindola2017-11-281-0/+56
| | | | | | | | | | | | | | It had been reverted because it depended on r319008 which has been recommitted. Original message: Add a missing test. We were not testing that we correctly handled a .o with a weak symbol after a .so. llvm-svn: 319217
* [aarch64][globalisel] Define G_ATOMIC_CMPXCHG and G_ATOMICRMW_* and make ↵Daniel Sanders2017-11-285-3/+135
| | | | | | | | | | | | | | | | them legal The IRTranslator cannot generate these instructions at the moment so there's no issue with not having implemented ISel for them yet. D40092 will add G_ATOMIC_CMPXCHG_WITH_SUCCESS and G_ATOMICRMW_* to the IRTranslator and a further patch will add support for lowering G_ATOMIC_CMPXCHG_WITH_SUCCESS into G_ATOMIC_CMPXCHG with an external success check via the `Lower` action. The separation of G_ATOMIC_CMPXCHG_WITH_SUCCESS and G_ATOMIC_CMPXCHG is to import SelectionDAG rules while still supporting targets that prefer to custom lower the original LLVM-IR-like operation. llvm-svn: 319216
OpenPOWER on IntegriCloud