- Apr 20, 2022
-
-
jacquesguan authored
This patch adds check of supported reduction kind for ScanOp to avoid using and/or/xor for floating point type. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D123977
-
Matt Arsenault authored
Many of the users of this add their own "error:" to the start, resulting in error: error.
-
Matt Arsenault authored
-
Petr Hosek authored
This is needed to use clang-include-fixer. Differential Revision: https://reviews.llvm.org/D124053
-
Matt Arsenault authored
-
Matt Arsenault authored
These don't seem to be very well used or tested, but try to make the behavior a bit more consistent with LDS globals. I'm not sure what the definition for amdgpu-gds-size is supposed to mean. For now I assumed it's allocating a static size at the beginning of the allocation, and any known globals are allocated after it.
-
Matt Arsenault authored
-
Matt Arsenault authored
-
jacquesguan authored
This patch adds vector predication type cast intrinsic ops. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D123996
-
Matt Arsenault authored
-
Matt Arsenault authored
This can be set up front, and used only as a cache. This avoids a field that looks like it requires MIR serialization. I believe this fixes 2 bugs for CodeView. First, this addresses a FIXME that the flag -diable-debug-info-print only works with DWARF. Second, it fixes emitting debug info with emissionKind NoDebug.
-
Matt Arsenault authored
-
Matt Arsenault authored
ValueMap should only be necessary if the IR values can be replaced. This is only used during codegen, when it's illegal to change the underlying IR. This allows using the default copy constructor for X86MachineFunctionInfo. I'm not happy about targets keeping state here that's only used in one specific pass, but we don't have a better place to put it right now.
-
Matt Arsenault authored
There's no reason to create these immediately. They can be created in the prolog/epilog code like CSR spills. There's probably a cleaner way to do this by utilizing the CSR spill code. This makes the frame index used transient state for PrologEpilogInserter, and thus makes serialization easier. Really this doesn't need to be saved here but there isn't really a better place for it.
-
Matt Arsenault authored
-
Matt Arsenault authored
Defs must be registers and there's no point to code after llvm_unreachable.
-
Matt Arsenault authored
These were leftovers from a half-implement spill to LDS attempt.
-
Matt Arsenault authored
The assert in SelectionDAG implies that it is
-
Matt Arsenault authored
Otherwise the legalizer verifier error isn't triggered since the default is fallback.
-
Matt Arsenault authored
-
Matt Arsenault authored
getMinClassForRegBank and getRegClassForTypeOnBank were basically identical functions with different APIs. Consolidate on the version that uses LLT instead of a bitwidth, since that would be more appropriate to use in a generic API. Keep getMinClassForRegBank around for now, since copies are a special case that can't simply read the type from the register operands.
-
Matt Arsenault authored
-
Matt Arsenault authored
getVRegDef is not allowed to fail for generic virtual registers, so there's not much point in checking it.
-
Matt Arsenault authored
These things are checked in the verifier already, so there's not much point in re-asserting them here. They aren't directly verified for the copy-like extension artifacts, but the incorrect output copies would be caught on the other side.
-
Fangrui Song authored
-
Mehdi Amini authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Andrew Browne authored
[DFSan] Print an error before calling null extern_weak functions, incase dfsan instrumentation optimized out a null check. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D124051
-
Vitaly Buka authored
~ConstantTokenNone access them, so it should be destroyed first.
-
Vitaly Buka authored
The assert uses data from just destroyed BasicBlock.
-
Vitaly Buka authored
-fsanitize-memory-use-after-dtor reports this memory access.
-
Ilia Diachkov authored
This patch adds one SPIRV analysis pass and extends AsmPrinter. It is essential for minimum SPIR-V output. Also it adds several simplest tests to show that the target basically works. Differential Revision: https://reviews.llvm.org/D116465 Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov, Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic Co-authored-by:
Aleksandr Bezzubikov <zuban32s@gmail.com> Co-authored-by:
Ilia Diachkov <iliya.diyachkov@intel.com> Co-authored-by:
Michal Paszkowski <michal.paszkowski@outlook.com> Co-authored-by:
Andrey Tretyakov <andrey1.tretyakov@intel.com> Co-authored-by:
Konrad Trifunovic <konrad.trifunovic@intel.com>
-
Ilia Diachkov authored
The patch adds SPIRVLegalizerInfo, SPIRVInstructionSelector and SPIRV-specific utilities. Differential Revision: https://reviews.llvm.org/D116464 Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov, Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic Co-authored-by:
Aleksandr Bezzubikov <zuban32s@gmail.com> Co-authored-by:
Ilia Diachkov <iliya.diyachkov@intel.com> Co-authored-by:
Michal Paszkowski <michal.paszkowski@outlook.com> Co-authored-by:
Andrey Tretyakov <andrey1.tretyakov@intel.com> Co-authored-by:
Konrad Trifunovic <konrad.trifunovic@intel.com>
-
Ilia Diachkov authored
The patch contains target lowering for SPIRV. Also it implements TargetMachine and AsmPrinter. Differential Revision: https://reviews.llvm.org/D116463 Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov, Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic Co-authored-by:
Aleksandr Bezzubikov <zuban32s@gmail.com> Co-authored-by:
Ilia Diachkov <iliya.diyachkov@intel.com> Co-authored-by:
Michal Paszkowski <michal.paszkowski@outlook.com> Co-authored-by:
Andrey Tretyakov <andrey1.tretyakov@intel.com> Co-authored-by:
Konrad Trifunovic <konrad.trifunovic@intel.com>
-
Ilia Diachkov authored
The patch adds SPIRV-specific MC layer implementation, SPIRV object file support and SPIRVInstPrinter. Differential Revision: https://reviews.llvm.org/D116462 Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov, Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic Co-authored-by:
Aleksandr Bezzubikov <zuban32s@gmail.com> Co-authored-by:
Ilia Diachkov <iliya.diyachkov@intel.com> Co-authored-by:
Michal Paszkowski <michal.paszkowski@outlook.com> Co-authored-by:
Andrey Tretyakov <andrey1.tretyakov@intel.com> Co-authored-by:
Konrad Trifunovic <konrad.trifunovic@intel.com>
-
Ilia Diachkov authored
Differential Revision: https://reviews.llvm.org/D115786 Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov, Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic Co-authored-by:
Aleksandr Bezzubikov <zuban32s@gmail.com> Co-authored-by:
Ilia Diachkov <iliya.diyachkov@intel.com> Co-authored-by:
Michal Paszkowski <michal.paszkowski@outlook.com> Co-authored-by:
Andrey Tretyakov <andrey1.tretyakov@intel.com> Co-authored-by:
Konrad Trifunovic <konrad.trifunovic@intel.com>
-
Ilia Diachkov authored
This patch contains enough for lib/Target/SPIRV to compile: a basic SPIRVTargetMachine and SPIRVTargetInfo. Differential Revision: https://reviews.llvm.org/D115009 Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov, Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic Co-authored-by:
Aleksandr Bezzubikov <zuban32s@gmail.com> Co-authored-by:
Ilia Diachkov <iliya.diyachkov@intel.com> Co-authored-by:
Michal Paszkowski <michal.paszkowski@outlook.com> Co-authored-by:
Andrey Tretyakov <andrey1.tretyakov@intel.com> Co-authored-by:
Konrad Trifunovic <konrad.trifunovic@intel.com>
-
Nicolai Hähnle authored
Also use gfx90a for the gfx9 test, whose code gen should be affected by faster multiply-add instructions.
-
Paul Robinson authored
In some cases, an error constructing a compiler or assembler job could leave the Inputs in a state that the code for constructing the linker job was not ready for.
-