On 22/11/24, Richard Henderson wrote: > On 11/20/24 19:49, Anton Johansson via wrote: > > Adds a struct representing everything a LLVM value might map to in TCG, > > this includes: > > > > * TCGv (IrValue); > > * TCGv_ptr (IrPtr); > > * TCGv_env (IrEnv); > > * TCGLabel (IrLabel); > > * tcg_constant_*() (IrConst); > > * 123123ull (IrImmediate); > > * intptr_t gvec_vector (IrPtrToOffset). > > Why would you map TCGv (the TARGET_LONG_BITS alias) rather than the base > TCGv_i32 and TCGv_i64 types? This seems like it would be more natural > within LLVM, and take advantage of whatever optimization that you're > allowing LLVM to do.
No you are correct, we map IrValue + 32-bit size -> TCGv_i32 IrValue + 64-bit size -> TCGv_i64 I was a bit vague in the commit message. //Anton