FullTy is only necessary when we need to figure out what type an
instruction works with given a pointer's pointee type. However, we just
end up using the value operand's type, so FullTy isn't necessary.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Looks like you've already reverted this, but I happened to bugpoint a test case for the failure if you happen to need it. The issue is with the call to popValue if the value the atomicrmw is using hasn't been seen by the parser yet.
; RUN: opt %s -o %t.bc ; RUN: opt %t.bc -o /dev/null define void @f() { entry: br label %def use: %x = atomicrmw add i32 addrspace(1)* undef, i32 %y monotonic, align 4 br label %exit def: %y = add i32 undef, undef br i1 undef, label %use, label %exit exit: ret void }
Comment Actions
Looks good, thanks!
llvm/test/Assembler/atomicrmw.ll | ||
---|---|---|
1–5 | Comment might be handy to describe what situation makes this interesting/how it failed previously, or the like? |
Comment might be handy to describe what situation makes this interesting/how it failed previously, or the like?