The current air.segment symbol naming logic makes sure that we don't end up with the same symbol name for air.segments in a given module. But the symbols can still be same across different modules. This can be a problem if we want to merge functions from multiple modules into one. In this PR we use the symbol name of the function enclosing the air.segment op as the base name. This way such conflicts wont happen assuming the function names are unique.
The current air.segment symbol naming logic makes sure that we don't end up with the same symbol name for air.segments in a given module. But the symbols can still be same across different modules. This can be a problem if we want to merge functions from multiple modules into one. In this PR we use the symbol name of the function enclosing the air.segment op as the base name. This way such conflicts wont happen assuming the function names are unique.