[all-commits] [llvm/llvm-project] 3ab7b7: TableGen/GlobalISel: Don't reconstruct CodeGenRegBank
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Wed Jan 15 05:59:04 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3ab7b7f53552a0969bd89db3317eb5a3ddf31d8f
https://github.com/llvm/llvm-project/commit/3ab7b7f53552a0969bd89db3317eb5a3ddf31d8f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
TableGen/GlobalISel: Don't reconstruct CodeGenRegBank
The maps for dealing with the relationships between different register
classes and subregister indexes rely on unique pointers for every
class/index. By constructing a second copy of CodeGenRegBank, two
different pointer values existed for a given subregister depending on
where you were querying.
Use the existing CodeGenRegBank owned by the CodeGenTarget instead of
constructing a second copy. This avoids incorrectly failing map
lookups in a future change.
Commit: eafa8dbefe30c85e58efc5309793f2d7c2109e35
https://github.com/llvm/llvm-project/commit/eafa8dbefe30c85e58efc5309793f2d7c2109e35
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
TableGen/GlobalISel: Don't take reference to temporary values
These return temporary Optional<> values which are immediately
destroyed. I'm not sure why no sanitizers seem to have caught this,
but I encountered crashes on these in a future patch.
Commit: 8931fde869c2787886a5f84c03f70cd32e2e8b1f
https://github.com/llvm/llvm-project/commit/8931fde869c2787886a5f84c03f70cd32e2e8b1f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.h
M llvm/utils/TableGen/RISCVCompressInstEmitter.cpp
Log Message:
-----------
TableGen: Delete some copy constuctors
Some register related machinery relies on uniqued, static pointers for
register classes and subregisters, so try to make sure these are never
copied.
Commit: 91715617ad601c6bd953e1c47ecaaf3610de233f
https://github.com/llvm/llvm-project/commit/91715617ad601c6bd953e1c47ecaaf3610de233f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
Log Message:
-----------
GlobalISel: Fix narrowScalar for G_ANYEXT results
This is nearly the same as G_ZEXT.
Commit: bd7658a212ebc27a8f7d69666820df33bc8d61f5
https://github.com/llvm/llvm-project/commit/bd7658a212ebc27a8f7d69666820df33bc8d61f5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/vop3.s
Log Message:
-----------
AMDGPU: Partially directly select llvm.amdgcn.interp.p1.f16
The 16 bank LDS case is complicated due to using multiple
instructions. If I attempt to write a pattern for it, the generated
selector incorrectly places the copy to m0 after the first
instruction, so that needs to be separately addressed.
Also fix not gluing the copy to m0 to the second operation in the
second half of the 16 bank lowering.
Commit: 936483fb7dd2c8c6b014516ff3b3cd13740e0518
https://github.com/llvm/llvm-project/commit/936483fb7dd2c8c6b014516ff3b3cd13740e0518
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
Log Message:
-----------
GlobalISel: Implement lower for G_BITCAST
Bitcast only really applies between scalars and vectors. Implement as
an unmerge and remerge. The test needs to tolerate failure since one
of the unmerges currently fails to legalize.
Compare: https://github.com/llvm/llvm-project/compare/46e3edcc2c89...936483fb7dd2
More information about the All-commits
mailing list