When fill the shape information of tile configure, we need to know
the tile physical register. If the shape (row, column) is allocated with
physical register, the physical register may be re-defined before
writing it to stack. The re-def may happen during split or spill
registers. If the shape is in virtual register, there is no such
problem. In below example, the value 2 of %al is filled to config
register. The actual value should be 8.
%al = 8
mov %al, %bl ; register split
%al = 2
store stack.cfg, %al ; config
ldtilecfg
...
%t = tilezero %al,...
With virtual register, there is no such issue.
%row = 8
store stack.cfg, %row ; config
ldtilecfg
...
%t = tilezero %row,...
Details
Details
- Reviewers
xiangzhangllvm yubing
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo