[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2022-01-24 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck updated this revision to Diff 402572. frasercrmck added a comment. Herald added a subscriber: pcwang-thead. rebase take minimum from zvl extensions allow backend options to override attribute values add extra testing Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2022-01-21 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVTargetMachine.cpp:101 + } else { +RVVBitsMin = RVVVectorBitsMinOpt; +RVVBitsMax = RVVVectorBitsMaxOpt; frasercrmck wrote: > frasercrmck wrote: > > craig.topper wrote: > > > If cla

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2022-01-21 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck added inline comments. Herald added subscribers: eopXD, VincentWu, luke957, achieveartificialintelligence. Comment at: llvm/lib/Target/RISCV/RISCVTargetMachine.cpp:101 + } else { +RVVBitsMin = RVVVectorBitsMinOpt; +RVVBitsMax = RVVVectorBitsMaxOpt; -

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-31 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVTargetMachine.cpp:101 + } else { +RVVBitsMin = RVVVectorBitsMinOpt; +RVVBitsMax = RVVVectorBitsMaxOpt; craig.topper wrote: > If clang always emits the attribute, are these options

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-30 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVTargetMachine.cpp:101 + } else { +RVVBitsMin = RVVVectorBitsMinOpt; +RVVBitsMax = RVVVectorBitsMaxOpt; If clang always emits the attribute, are these options effectively dead for

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-30 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck added inline comments. Comment at: clang/lib/Basic/Targets/RISCV.cpp:349 + unsigned VLENMax = 65536; + return std::make_pair(VLENMin / 64, VLENMax / 64); +} craig.topper wrote: > Should we move RVVBitsPerBlock to RISCVTargetParser.def? Or some other

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-30 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck updated this revision to Diff 369416. frasercrmck marked 2 inline comments as done. frasercrmck added a comment. Herald added a subscriber: dexonsmith. - rebase - move V VLEN bits-per-block (64), min (128), max (65536) defines into TargetParser.h - clean up assertions Repository:

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-25 Thread Kito Cheng via Phabricator via cfe-commits
kito-cheng added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVTargetMachine.cpp:106 + assert(RVVBitsMin % 128 == 0 && + "RVV requires vector length in multiples of 128!"); + assert(RVVBitsMax % 128 == 0 && RISC-V require VLEN in power of 2, m

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-20 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: clang/lib/Basic/Targets/RISCV.cpp:349 + unsigned VLENMax = 65536; + return std::make_pair(VLENMin / 64, VLENMax / 64); +} Should we move RVVBitsPerBlock to RISCVTargetParser.def? Or some other place that can be s

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-20 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck added a comment. Ah no, my mistake. This would be a drop in functionality if `getMaxVScale` is removed, since its replacement only checks the IR attribute and will not be affected by our backend flags. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://revie

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-19 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck added a comment. This may be as far as we can take this patch without exposing RVV vectors bit control to the user/driver and having to worry about the concerns that spring from that: linking objects compiled with different RVV vector bits options, LTO, etc. I believe that with the

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-18 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck updated this revision to Diff 367232. frasercrmck added a comment. Herald added subscribers: llvm-commits, hiraditya. Herald added a project: LLVM. update usage in vein of AArch64: - use vscale_range attribute to determine RVV vector bits min/max values - if no attribute is present, u

[PATCH] D107290: [PoC][RISCV] Add support for the vscale_range attribute

2021-08-02 Thread Fraser Cormack via Phabricator via cfe-commits
frasercrmck created this revision. frasercrmck added reviewers: craig.topper, rogfer01, HsiangKai, evandro, arcbbb, khchen. Herald added subscribers: vkmr, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, j