[PATCH] D101045: [IR][Verifier] Allow alloca outside alloca address space

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 23 05:52:17 PDT 2021


arsenm added a comment.

In D101045#2711261 <https://reviews.llvm.org/D101045#2711261>, @wingo wrote:

> Just for context, on the wasm target, each function has two stack frames: one managed by the webassembly run-time, populated by named locals, and not addressable; and one in memory managed as on conventional targets, sharing an address space with data and heap.  Clang produces IR where locals start life as alloca's as usual, and as usual the optimizer lifts most of them to SSA values in SROA.  SSA values end up lowering to the "named" part of the stack.  Those locals still left as allocas are put on linear memory.  This patch is motivated by ongoing work to add support for a new kind of value that can't be written to linear memory.  We are currently representing these values as opaque pointers in non-default address spaces, and have some special lowering hooks for these.  We also use some special address spaces to denote restricted pointers to these values.

But are these still tracked in the MachineFrameInfo like a regular frame index?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101045



More information about the llvm-commits mailing list