[all-commits] [llvm/llvm-project] 5518a0: llc/MIR: Fix setFunctionAttributes for MIR functions
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Mon Jan 6 14:21:58 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 5518a02a83e855edeff7d8b4db685ec5d1b4144e
https://github.com/llvm/llvm-project/commit/5518a02a83e855edeff7d8b4db685ec5d1b4144e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/include/llvm/CodeGen/CommandFlags.inc
M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
A llvm/test/CodeGen/MIR/AMDGPU/llc-target-cpu-attr-from-cmdline-ir.mir
A llvm/test/CodeGen/MIR/AMDGPU/llc-target-cpu-attr-from-cmdline.mir
M llvm/tools/llc/llc.cpp
Log Message:
-----------
llc/MIR: Fix setFunctionAttributes for MIR functions
A random set of attributes are implemented by llc/opt forcing the
string attributes on the IR functions before processing anything. This
would not happen for MIR functions, which have not yet been created at
this point.
Use a callback in the MIR parser, purely to avoid dealing with the
ugliness that the command line flags are in a .inc file, and would
require allowing access to these flags from multiple places (either
from the MIR parser directly, or a new utility pass to implement these
flags). It would probably be better to cleanup the flag handling into
a separate library.
This is in preparation for treating more command line flags with a
corresponding function attribute in a more uniform way. The fast math
flags in particular have a messy system where the command line flag
sets the behavior from a function attribute if present, and otherwise
the command line flag. This means if any other pass tries to inspect
the function attributes directly, it will be inconsistent with the
intended behavior. This is also inconsistent with the current behavior
of -mcpu and -mattr, which overwrites any pre-existing function
attributes. I would like to move this to consistenly have the command
line flags not overwrite any pre-existing attributes, and to always
ensure the command line flags are consistent with the function
attributes.
Commit: 14d25052a2902dacdd73aa1714ba1fb639c1dedd
https://github.com/llvm/llvm-project/commit/14d25052a2902dacdd73aa1714ba1fb639c1dedd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
AMDGPU: Use ImmLeaf for inline immediate predicates
Commit: a506efff18224a0c73db42bed8679413514c28b1
https://github.com/llvm/llvm-project/commit/a506efff18224a0c73db42bed8679413514c28b1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
AMDGPU: Use ImmLeaf
This solves one GlobalISel importer error, but the pattern still fails
for another reason.
Commit: 7f2db2917da9e4fe43976b7abe37400812ed5dea
https://github.com/llvm/llvm-project/commit/7f2db2917da9e4fe43976b7abe37400812ed5dea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/fpow.ll
Log Message:
-----------
AMDGPU: Fix legalizing f16 fpow
The existing test only covered one case for r600. The use of
mul_legacy also looks suspicious to me, but leave it for now. The
patterns are also not making use of source modifiers.
Commit: 0b093f02120e212b9c1305eae626e9b5e99b92fa
https://github.com/llvm/llvm-project/commit/0b093f02120e212b9c1305eae626e9b5e99b92fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Log Message:
-----------
GlobalISel: Start adding computeNumSignBits to GISelKnownBits
Commit: 1060b9e23b8f9d2802835896947ec281ba3b4f6b
https://github.com/llvm/llvm-project/commit/1060b9e23b8f9d2802835896947ec281ba3b4f6b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/fptosi_and_fptoui.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fptosi_and_fptoui.ll
Log Message:
-----------
GlobalISel: Correct result type for G_FCMP in lowerFPTOUI
Using the final result type doesn't make any sense. Use the natural
default boolean type for the select condition.
Commit: ee6b8722ffa101b57af9029c84691cb7e8a43799
https://github.com/llvm/llvm-project/commit/ee6b8722ffa101b57af9029c84691cb7e8a43799
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-jump-table.mir
Log Message:
-----------
GlobalISel: Fix unsupported legalize action
This would complain about invalid legalizer rules otherwise.
Mark some operations as unsupported for AMDGPU. This currently seems
to produce the same legalize error as when no rules are defined, but
eventually this should produce a proper user facing error.
Compare: https://github.com/llvm/llvm-project/compare/6a0564adcfe6...ee6b8722ffa1
More information about the All-commits
mailing list