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

Reply via email to