diff options
author | Serge Guelton <sguelton@redhat.com> | 2021-03-24 16:45:04 -0400 |
---|---|---|
committer | serge-sans-paille <sguelton@redhat.com> | 2021-04-17 08:17:33 +0200 |
commit | d6de1e1a71406c75a4ea4d5a2fe84289f07ea3a1 (patch) | |
tree | abbf039ca49e20d35a9796d4fae72300ac4f5072 /llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp | |
parent | bbba69425c6131283163af99201577c296aa3877 (diff) | |
download | llvm-d6de1e1a71406c75a4ea4d5a2fe84289f07ea3a1.zip llvm-d6de1e1a71406c75a4ea4d5a2fe84289f07ea3a1.tar.gz llvm-d6de1e1a71406c75a4ea4d5a2fe84289f07ea3a1.tar.bz2 |
Normalize interaction with boolean attributes
Such attributes can either be unset, or set to "true" or "false" (as string).
throughout the codebase, this led to inelegant checks ranging from
if (Fn->getFnAttribute("no-jump-tables").getValueAsString() == "true")
to
if (Fn->hasAttribute("no-jump-tables") && Fn->getFnAttribute("no-jump-tables").getValueAsString() == "true")
Introduce a getValueAsBool that normalize the check, with the following
behavior:
no attributes or attribute set to "false" => return false
attribute set to "true" => return true
Differential Revision: https://reviews.llvm.org/D99299
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp index 5134497..07806dd 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp @@ -28,12 +28,10 @@ AMDGPUMachineFunction::AMDGPUMachineFunction(const MachineFunction &MF) const Function &F = MF.getFunction(); Attribute MemBoundAttr = F.getFnAttribute("amdgpu-memory-bound"); - MemoryBound = MemBoundAttr.isStringAttribute() && - MemBoundAttr.getValueAsString() == "true"; + MemoryBound = MemBoundAttr.getValueAsBool(); Attribute WaveLimitAttr = F.getFnAttribute("amdgpu-wave-limiter"); - WaveLimiter = WaveLimitAttr.isStringAttribute() && - WaveLimitAttr.getValueAsString() == "true"; + WaveLimiter = WaveLimitAttr.getValueAsBool(); CallingConv::ID CC = F.getCallingConv(); if (CC == CallingConv::AMDGPU_KERNEL || CC == CallingConv::SPIR_KERNEL) |