CSKY: Avoid constructing a temporary CSKYSubtarget in AsmPrinter
This was reconstructing a subtarget equivalent to the global
subtarget instead of just using the available one.
[BFI] Simplify/optimize getMass/getContainingLoop. NFC (#212938)
A block can head both a natural loop and the irreducible loop wrapping
it (`@crossloops` in BlockFrequencyInfo/irreducible.ll).
getContainingLoop and getMass unroll to a fixed depth of two through
isDoubleLoopHeader and isADoublePackage. Depth two holds because
IrreducibleGraph::addEdge drops edges into the enclosing loop's headers,
keeping such a header out of any nested SCC.
(The old comment "If it's a node inside a packaged loop, it returns the
loop's mass." is wrong.)
Walk the Parent chain instead to drop the depth two assumption. Testing
`IsPackaged` before isHeader also skips the Nodes[0] load on the common
path.
[RISCV] Support CodeGen of Zilx extension
Thanks for `XTheadMemIdx` extension that makes life easier.
Reviewers: lukel97, topperc, kito-cheng, tclin914
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/209420
AMDGPU: Eliminate old macro driven processor name parsing
Previously the generated inc file had a series of macros for use
with StringSwitch; now just directly scan the generated name table.
Co-authored-by: Claude (Claude-Opus-4.8)
AMDGPU: TableGen the subarch to processor name mapping table (#212606)
Replace the hand-written AMDGPUSubArchNames array (SubArch -> canonical
GPU name) with a generated table.
Co-authored-by: Claude (Claude-Opus-4.8)
ARM: Thread float ABI through ARMSubtarget (NFC)
Preparation to use the "float-abi" module flag. Store the resolved
float ABI in ARMSubtarget and fold it into the subtarget key. The
value is still sourced from TargetOptions::FloatABIType.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
AMDGPU: Eliminate old macro driven processor name parsing
Previously the generated inc file had a series of macros for use
with StringSwitch; now just directly scan the generated name table.
Co-authored-by: Claude (Claude-Opus-4.8)
AMDGPU: TableGen the subarch to processor name mapping table
Replace the hand-written AMDGPUSubArchNames array (SubArch -> canonical GPU
name) with a generated table.
Co-authored-by: Claude (Claude-Opus-4.8)
IR: Introduce "float-abi" module flag
This is intended to eliminate the FloatABIType TargetOptions field.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>