[PATCH] D92219: [AMDGPU][GlobalISel] Avoid selecting S_PACK with constants

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 5 10:04:20 PST 2021


paquette added inline comments.


================
Comment at: llvm/include/llvm/CodeGen/GlobalISel/Utils.h:146
+                                  bool HandleFConstants = true,
+                                  bool AnyExtAsZext = false);
 const ConstantFP* getConstantFPVRegVal(Register VReg,
----------------
foad wrote:
> mbrkusanin wrote:
> > foad wrote:
> > > I'm not sure if we need a flag for this. Could we do it unconditionally? @qcolombet ?
> > There were no regressions for check-all when I tried it that way, but I wasn't sure if I should leave it like that.
> I think it's probably safe to treat anyext the same as zext in this function, but maybe wait for comments from other globalisel maintainers (who may be on thanksgiving vacation).
Maybe this should be `LookThroughAnyExt`? I imagine there are situations where we might want to treat G_ANYEXT as a sign extend.

e.g.

```
%cst:_(s32) = G_CONSTANT i32 -1
%cst_wide:_(s64) = G_ANYEXT %cst
...
%y:_(s64) = ...
%x:_(s64) = G_ADD %y, %cst_wide
```


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92219/new/

https://reviews.llvm.org/D92219



More information about the llvm-commits mailing list