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")


        if (Fn->hasAttribute("no-jump-tables") && Fn->getFnAttribute("no-jump-tables").getValueAsString() == "true")

Introduce a getValueAsBool that normalize the check, with the following

no attributes or attribute set to "false" => return false
attribute set to "true" => return true

Differential Revision:

GitOrigin-RevId: d6de1e1a71406c75a4ea4d5a2fe84289f07ea3a1
1 file changed