|
|
|
|
|
by pizlonator
473 days ago
|
|
> The main thing we're doing differently in SM is that all of our ICs are generated using a simple linear IR (CacheIR) JSC calls this PolymorphicAccess. It’s a mini IR with a JIT that tries to emit optimal code based on this IR. Register allocation and everything, just for a very restricted IR. It’s been there since I don’t remember when. I wrote it ages ago and then it has evolved into a beast. |
|
The main justification for CacheIR isn't that it enables us to do optimizations that can't be done in other ways. It's just a convenient unifying framework.