These attributes are copied from equivalent instructions in
WebAssemblyInstrInfo.td.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 22122 Build 22122: arc lint + arc unit
Event Timeline
| lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | ||
|---|---|---|
| 22 | I actually have no idea what isReMaterializable means, but the other const instructions had it. | |
| lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | ||
|---|---|---|
| 29 | I don't think loads and stores are really as cheap as a move (I think "move" means the RISC definition of a move, i.e. "not also a load"). Also wasm loads and stores are potentially more expensive than x86 loads and stores anyway if bounds checking is not free. | |
- Remove isAsCheapAsAMove from mem ops
| lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | ||
|---|---|---|
| 29 | You're right, I think I got these loads and stores mixed up with set_local/get_local. | |
| lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | ||
|---|---|---|
| 22 | Is isAsCheapAsAMove true for this? Because it basically means putting 128-bit worth of values onto the stack. | |
| lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | ||
|---|---|---|
| 22 | Not actually sure, especially when you think about what this instruction turns into on the backend. I could imagine that for some embedders this is as cheap as a move and for others it is not. | |
I actually have no idea what isReMaterializable means, but the other const instructions had it.