I'm reading the code to get better understanding of internal logic of TK.
For shared memory based types there is "shared" in code to ensure the instance of that type gets its memory from shared memory;
There is no such keyword for register based types and when there is register pressure it is possible for a compiler to spill local variables to local memory which will make the assumption of register based type false.
I wonder if there is some code to make sure register based types are only created when knowing it won't cause register pressure.
Or we just pay the price when this happen?
I'm reading the code to get better understanding of internal logic of TK.
For shared memory based types there is "shared" in code to ensure the instance of that type gets its memory from shared memory;
There is no such keyword for register based types and when there is register pressure it is possible for a compiler to spill local variables to local memory which will make the assumption of register based type false.
I wonder if there is some code to make sure register based types are only created when knowing it won't cause register pressure.
Or we just pay the price when this happen?