This emits labels around heapallocsite calls and S_HEAPALLOCSITE debug
info in codeview. Currently only changes FastISel, so emitting labels still
needs to be implemented in SelectionDAG.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 30951 Build 30950: arc lint + arc unit
Event Timeline
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | ||
---|---|---|
1078 | I think it's worth a comment explaining why some of these labels might not be defined. Basically, if the instruction gets replaced anywhere in the codegen pipeline, they won't be defined. | |
llvm/lib/Target/X86/X86FastISel.cpp | ||
3988 | Please add a new test case that fails if this line of code is removed. I think you can start from this C++ code: struct Foo { __declspec(allocator) virtual void *alloc(); }; void use_alloc(void*); void do_alloc(Foo *p) { use_alloc(p->alloc()); } |
I think it's worth a comment explaining why some of these labels might not be defined. Basically, if the instruction gets replaced anywhere in the codegen pipeline, they won't be defined.
Also, it would be LLVM-y to invert the condition and use continue to reduce indentation:
https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code