This patch allows Attribute::get API to consider zero for the uint64_t
argument passed in for int attributes.
Until now, the implicit assumption was that if the value is zero, then
it is an enum attribute. However, we can have cases (such a case exists
downstream for us), where an int attribute can have a zero value.
I initially tried Optional<uint64_t> instead of adding an extra default
argument. However there are places in Attributor where we pass in an enum
attribute with a zero value (see IRPosition::getAttrsFromAssumes). So the
alternate approach is recognize such cases and pass in None as the optional
argument (see D124116 for the idea).