This patch fleshes out the missing documentation for two of the VP
intrinsics introduced in D99355: llvm.vp.load and llvm.vp.store. It
does so mostly by deferring to the llvm.masked.load and
llvm.masked.store intrinsics, respectively.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
llvm/docs/LangRef.rst | ||
---|---|---|
19699 | It should suffice to say that alignment is derived the same way it is for regular load/store instructions (eg https://llvm.org/docs/LangRef.html#load-instruction). |
llvm/docs/LangRef.rst | ||
---|---|---|
19699 | From what I can tell our current lowering of vp.load and vp.store don't check any align attributes. In SelectionDAGBuilder.cpp, we just do MaybeAlign Alignment = DAG.getEVTAlign(VT); I remember talk of obeying this attribute, but I don't think we should document anything that isn't currently true. Shall I open a patch to use these attributes first, perhaps? Then document what we want to see happen? |
llvm/docs/LangRef.rst | ||
---|---|---|
19699 | It's reasonable to stick with the current phrasing for this patch. Then, prepare another patch for SelectionDAG builder and LangRef that considers the align attribute. |
llvm/docs/LangRef.rst | ||
---|---|---|
19699 | Yep okay, that makes sense. Cheers. |
It should suffice to say that alignment is derived the same way it is for regular load/store instructions (eg https://llvm.org/docs/LangRef.html#load-instruction).
For example, there is also an align attribute for specifying the alignment (https://llvm.org/docs/LangRef.html#parameter-attributes).