Commit
5dda92fcb0ce9206f831aa7cddf24421dcf044d7
by daveAdd test for spaceship operator to __config Summary: The libcxx test suite auto-detects spaceship operator, but __config does not. This means that the libcxx test suite has been broken for over a month when using top-of-tree clang. This also really ought to be fixed before 10.0. See: bc633a42dd409dbeb456263e3388b8caa4680aa0 Reviewers: chandlerc, mclow.lists, EricWF, ldionne, CaseyCarter Reviewed By: EricWF Subscribers: broadwaylamb, hans, dexonsmith, tstellar, llvm-commits, libcxx-commits Tags: #libc, #llvm Differential Revision: https://reviews.llvm.org/D72980
|
 | libcxx/include/__config |
Commit
37aa16ebb713c1d76d93f7d29419fd6ea88ac72c
by Austin.Kerbow[DA] Don't propagate from unreachable blocks Summary: Fixes crash that could occur when a divergent terminator has an unreachable parent. Reviewers: rampitec, nhaehnle, arsenm Subscribers: jvesely, wdng, hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73323
|
 | llvm/test/Analysis/DivergenceAnalysis/AMDGPU/unreachable-loop-block.ll |
 | llvm/lib/Analysis/DivergenceAnalysis.cpp |
Commit
c5bd3d07262ffda5b21576b9e1e2d2dd2e51fb4b
by dschuffSupport Swift calling convention for WebAssembly targets This adds basic support for the Swift calling convention with WebAssembly targets. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D71823
|
 | clang/lib/Basic/Targets/WebAssembly.h |
 | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp |
Commit
c2266463377a1727f0627fe4db9a88a1b33a9f4d
by Austin.KerbowResubmit: [DA][TTI][AMDGPU] Add option to select GPUDA with TTI Summary: Enable the new diveregence analysis by default for AMDGPU. Resubmit with test updates since GPUDA was causing failures on Windows. Reviewers: rampitec, nhaehnle, arsenm, thakis Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73315
|
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/loads.ll |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/unreachable-loop-block.ll |
 | llvm/include/llvm/CodeGen/BasicTTIImpl.h |
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/atomics.ll |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/intrinsics.ll |
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/workitem-intrinsics.ll |
 | llvm/include/llvm/Analysis/LegacyDivergenceAnalysis.h |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/llvm.amdgcn.buffer.atomic.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/phi-undef.ll |
 | llvm/include/llvm/Analysis/TargetTransformInfo.h |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/kernel-args.ll |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/llvm.amdgcn.image.atomic.ll |
 | llvm/test/Analysis/LegacyDivergenceAnalysis/AMDGPU/no-return-blocks.ll |
 | llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp |
Commit
7a94d4f4ee435386ff47f7f3ecad4e56608578b6
by Stanislav.MekhanoshinAllow combining of extract_subvector to extract element Differential Revision: https://reviews.llvm.org/D73132
|
 | llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll |
 | llvm/test/CodeGen/ARM/vdup.ll |
 | llvm/test/CodeGen/ARM/vuzp.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/ARM/vext.ll |
 | llvm/test/CodeGen/ARM/vpadd.ll |
 | llvm/test/CodeGen/X86/sse41.ll |
Commit
44b865fa7fea8243126c489df6604ae7ecee072a
by Stanislav.Mekhanoshin[AMDGPU] Allow narrowing muti-dword loads Currently BE allows only a little load narrowing because of the fear it will produce sub-dword ext loads. However, we can always allow narrowing if we are shrinking one multi-dword load to another multi-dword load. In particular we were unable to reduce s_load_dwordx8 into s_load_dwordx4 if identity shuffle was used to extract low 4 dwords. Differential Revision: https://reviews.llvm.org/D73133
|
 | llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
Commit
b35b7da4608426e099fc048319ebf50c11c984ea
by andrew.kaylor[PGO] Attach appropriate funclet operand bundles to value profiling instrumentation calls Patch by Chris Chrulski When generating value profiling instrumentation, ensure the call gets the correct funclet token, otherwise WinEHPrepare will turn the call (and all subsequent instructions) into unreachable. Differential Revision: https://reviews.llvm.org/D73221
|
 | llvm/test/Transforms/PGOProfile/memop_profile_funclet.ll |
 | llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp |
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp |
 | llvm/test/Transforms/PGOProfile/indirect_call_profile_funclet.ll |
Commit
555d8f4ef5ebb2cdce2636af5102ff944da5fef8
by Stanislav.Mekhanoshin[AMDGPU] Bundle loads before post-RA scheduler We are relying on atrificial DAG edges inserted by the MemOpClusterMutation to keep loads and stores together in the post-RA scheduler. This does not work all the time since it allows to schedule a completely independent instruction in the middle of the cluster. Removed the DAG mutation and added pass to bundle already clustered instructions. These bundles are unpacked before the memory legalizer because it does not work with bundles but also because it allows to insert waitcounts in the middle of a store cluster. Removing artificial edges also allows a more relaxed scheduling. Differential Revision: https://reviews.llvm.org/D72737
|
 | llvm/test/CodeGen/AMDGPU/idot8s.ll |
 | llvm/lib/Target/AMDGPU/AMDGPU.h |
 | llvm/test/CodeGen/AMDGPU/sign_extend.ll |
 | llvm/test/CodeGen/AMDGPU/memory_clause.ll |
 | llvm/test/CodeGen/AMDGPU/max.i16.ll |
 | llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll |
 | llvm/test/CodeGen/AMDGPU/v_mac_f16.ll |
 | llvm/test/CodeGen/AMDGPU/idot4u.ll |
 | llvm/test/CodeGen/AMDGPU/saddo.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll |
 | llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll |
 | llvm/test/CodeGen/AMDGPU/scratch-simple.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |
 | llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll |
 | llvm/test/CodeGen/AMDGPU/select.f16.ll |
 | llvm/test/CodeGen/AMDGPU/call-argument-types.ll |
 | llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp |
 | llvm/lib/Target/AMDGPU/SIPostRABundler.cpp |
 | llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll |
 | llvm/test/CodeGen/AMDGPU/merge-store-crash.ll |
 | llvm/test/CodeGen/AMDGPU/v_madak_f16.ll |
 | llvm/test/CodeGen/AMDGPU/shl.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.atomic.inc.ll |
 | llvm/test/CodeGen/AMDGPU/byval-frame-setup.ll |
 | llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/idot4s.ll |
 | llvm/test/CodeGen/AMDGPU/salu-to-valu.ll |
 | llvm/test/CodeGen/AMDGPU/ds_write2st64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.atomic.dec.ll |
 | llvm/test/CodeGen/AMDGPU/load-lo16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll |
 | llvm/test/CodeGen/AMDGPU/global-saddr.ll |
 | llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/shl.ll |
 | llvm/test/CodeGen/AMDGPU/half.ll |
 | llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll |
 | llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll |
 | llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll |
 | llvm/lib/Target/AMDGPU/CMakeLists.txt |
 | llvm/test/CodeGen/AMDGPU/postra-bundle-memops.mir |
 | llvm/test/CodeGen/AMDGPU/idot2.ll |
 | llvm/test/CodeGen/AMDGPU/idot8u.ll |
 | llvm/test/CodeGen/AMDGPU/memory-legalizer-load.ll |
 | llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp |
 | llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll |
Commit
698d1cd3b8154b3b74423386d3e111e6b756e87a
by hansMake address-space-lambda.cl pass on 32-bit Windows Member functions will have the thiscall attribute on them.
|
 | clang/test/SemaOpenCLCXX/address-space-lambda.cl |
Commit
6530136fe3f90b3716f8a1f4b0b951b5fb604aaf
by llvmgnsyncbot[gn build] Port 555d8f4ef5e
|
 | llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn |
Commit
58592f6c49249293f79698cfcb31dba532e12603
by dimitryInclude <cstdlib> for std::abort() in clangd This fixes a "not a member of 'std'" error with e.g. Fedora 32. Closes: #105
|
 | clang-tools-extra/clangd/Shutdown.cpp |
Commit
a107f864176300629afeb9f22be19513917b36bd
by craig.topper[GlobalsAA] Add back a check to intrinsic_addresstaken.ll to see if the AVX and AVX512 bots still fail for it. These bots failed for this several months ago and as a result, this check was removed. If they still fail I'm going to try to see if I can figure out why.
|
 | llvm/test/Analysis/GlobalsModRef/intrinsic_addresstaken.ll |
Commit
4fdae24733d223b773f2bd48081e5e147739afa5
by Matthew.ArsenaultAMDGPU/GlobalISel: Add selection tests for G_ATOMICRMW_ADD
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-atomicrmw-add-flat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-atomicrmw-add-global.mir |
Commit
84e035d8f1d635d202692e3c38c9c96aa1e08088
by Matthew.ArsenaultAMDGPU: Don't check constant address space for atomic stores We define a separate list for storable address spaces. This saves entry in the matcher table address space list.
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstructions.td |
Commit
d8328c0b6240234c8036f16c081ab7e8dc98cce8
by Matthew.ArsenaultTableGen: Work around assert on Mips register definitions This would hit the "Biggest class wasn't first" assert in getMatchingSubClassWithSubRegs in a future patch for EXTRACT_SUBREG handling. Mips defines 4 identical register classes (MSA128B, MSA128H, MSA128BW, MSA128D). These have the same set of registers, and only differ by the isel type. I believe this is an ill formed way of defining registers, that probably is just to work around the inconvenience of mixing different types in a single register class in DAG patterns. Since these all have the same size, they would all sort to the beginning, but you would not necessarily get the same super register at the front as the assert enforces. Breaking the ambiguity by also sorting by name doesn't work, since each of these register classes all want to be first. Force sorting of the original register class if the size is the same.
|
 | llvm/utils/TableGen/CodeGenRegisters.cpp |
Commit
9c346464c15c9f42fd641c33ca4c35b31556a661
by Matthew.ArsenaultTableGen/GlobalISel: Handle non-leaf EXTRACT_SUBREG This previously only handled EXTRACT_SUBREGs from leafs, such as operands directly in the original output. Handle extracting from a result instruction.
|
 | llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h |
 | llvm/test/CodeGen/X86/GlobalISel/shl-scalar-widening.ll |
 | llvm/utils/TableGen/GlobalISelEmitter.cpp |
 | llvm/test/CodeGen/X86/GlobalISel/select-copy.mir |
 | llvm/test/TableGen/GlobalISelEmitterSubreg.td |
 | llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h |
 | llvm/test/CodeGen/X86/GlobalISel/x86-select-sdiv.mir |
 | llvm/test/CodeGen/X86/GlobalISel/x86_64-select-zext.mir |
 | llvm/test/CodeGen/X86/GlobalISel/select-ext.mir |
Commit
be8e38cbd9785d4f4023b88150d14bd815265eef
by Stanislav.MekhanoshinCorrect NumLoads in clustering Scheduler sends NumLoads argument into shouldClusterMemOps() one less the actual cluster length. So for 2 instructions it will pass just 1. Correct this number. This is NFC for in tree targets. Differential Revision: https://reviews.llvm.org/D73292
|
 | llvm/lib/CodeGen/MachineScheduler.cpp |
 | llvm/include/llvm/CodeGen/TargetInstrInfo.h |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.cpp |