A question on address space

Hi all,

I have some unclear points related to non-integral address space. I am really sorry if I misunderstood this concept.

If I specify a non-default address space in LLVM IR (Let’s say we use address space 1 for GC statepoint-example as shown here), do we need to remove that address space(may be using a different pass) at some point in the LLVM pipeline?

Because I have seen in Julia and gollvm, there are passes to remove address spaces and address space casts. As far as I understood this pass is run after optimization phases.

Thank you,