diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2023-04-14 21:41:27 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2023-06-22 18:20:56 +0000 |
commit | bdd1243df58e60e85101c09001d9812a789b6bc4 (patch) | |
tree | a1ce621c7301dd47ba2ddc3b8eaa63b441389481 /contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp | |
parent | 781624ca2d054430052c828ba8d2c2eaf2d733e7 (diff) | |
parent | e3b557809604d036af6e00c60f012c2025b59a5e (diff) |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp b/contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp index b66429d8a5bf..13f45ae048bb 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp @@ -151,19 +151,18 @@ bool XRayInstrumentation::runOnMachineFunction(MachineFunction &MF) { InstrAttr.getValueAsString() == "xray-never"; if (NeverInstrument && !AlwaysInstrument) return false; - auto ThresholdAttr = F.getFnAttribute("xray-instruction-threshold"); auto IgnoreLoopsAttr = F.getFnAttribute("xray-ignore-loops"); - unsigned int XRayThreshold = 0; - if (!AlwaysInstrument) { - if (!ThresholdAttr.isStringAttribute()) - return false; // XRay threshold attribute not found. - if (ThresholdAttr.getValueAsString().getAsInteger(10, XRayThreshold)) - return false; // Invalid value for threshold. + uint64_t XRayThreshold = 0; + if (!AlwaysInstrument) { bool IgnoreLoops = IgnoreLoopsAttr.isValid(); + XRayThreshold = F.getFnAttributeAsParsedInteger( + "xray-instruction-threshold", std::numeric_limits<uint64_t>::max()); + if (XRayThreshold == std::numeric_limits<uint64_t>::max()) + return false; // Count the number of MachineInstr`s in MachineFunction - int64_t MICount = 0; + uint64_t MICount = 0; for (const auto &MBB : MF) MICount += MBB.size(); |