paulkirth added a comment.
In D135488#3844117 <https://reviews.llvm.org/D135488#3844117>, @nickdesaulniers wrote: > Thanks for the patch, here's the output I observe from the LKML thread > <https://lore.kernel.org/llvm/20221006222124.aabaemy7ofop7...@google.com/>: > https://paste.debian.net/1256338/. > > I think the stack slot numbers printed at the end aren't correct; the two > large allocations should be `table`, `540B` which would be Slot 7 and > `stack_fds`, `256B` which would be Slot 8 in the table. > > Expected: > > Variable: stack_fds (line 634 of fs/select.c) in Slot: 8 > Variable: table (line 482 of fs/select.c) in Slot: 7 > > Actual: > > Variable: stack_fds (line 634 of fs/select.c) in Slot: 3 > Variable: table (line 482 of fs/select.c) in Slot: 2 I think we just print out whatever was in the debug info for the stack slot... maybe it's stale? could just be flat out wrong too. I'll have to take a look. > What does `Fixed` mean? FrameInfo has a notion of a "Fixed" slot. From `MachineFrameInfo::CreateFixedObject`'s docstring `"All fixed objects should be created before other objects are created for efficiency. By default, fixed objects are not pointed to by LLVM IR values. This returns an index with a negative value."` I figured that may be important for people to know/see, so I left it in. It doesn't mean much to me though, and I've thought about dropping it. > What does it mean for there to be a stack slot that's not a `Spill`, but not > allocated to a particular variable? One weird thing I noticed when I was testing was that Clang was behaving like the default opt level was no longer `-O2` but was `-O0`. So maybe that's related? In that case maybe its dead, but because optimization didn't run, it's been preserved. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135488/new/ https://reviews.llvm.org/D135488 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits