Searching all of the existing gc.root implementations I'm aware of (all three of them), there was exactly one use of this mechanism, and that was to implement a performance improvement that should have been applied to the default lowering.
Having this function is requiring a dependency on a CodeGen class (MachineFunction), in a class which is otherwise completely independent of CodeGen. I could solve this differently, but given that I see absolutely no value in preserving this mechanism, I'd like to just get rid of it.
The code change is pretty straight forward, but I wanted to get input before submission because this is the first time I'm intentionally breaking previously supported gc.root functionality. Given 3.6 has branched, I believe this is a good time to do this.
This is blocking an update to http://reviews.llvm.org/D6811
Do I understand it correctly that the GC_LABEL MI will be inserted elsewhere for this safepoint?