Change rL362280 changed CodeView API getRegisterNames() by adding an input parameter in CPUType. It is called in LLDB and needs to be updated.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Are you sure this triple → CPUType mapping belongs in each consumer? Maybe it'd be better to have something inside LLVM, so that we wouldn't have to keep this up-to-date in all the places. Maybe getRegisterNames() overload that takes a triple?
The CodeView APIs seems not aware of LLVM tripe. CPUType comes from CodeView which makes this API self-consistent.
source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp | ||
---|---|---|
29 ↗ | (On Diff #202540) | I think that we should use a switch to cover the targets. /Oy will allow FPO on x86 as well. There is also WoA (ARM32). |
source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp | ||
---|---|---|
29 ↗ | (On Diff #202540) | Ok. It makes sense to use switch/case. CodeView doesn't support WoA (ARM32) so no need to add case for it here. |
This should get the build working again, so lets get this fixed, we can improve it later
source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp | ||
---|---|---|
29 ↗ | (On Diff #202540) | Huh? How does cl generate that then? |
Thanks, committed the fix to unblock build. For WoA(ARM32) which is not supported, I meant LLVM CodeView, not CodeView specification. llvm::codeview::getRegisterNames(cpu_type) will return incorrect register name even the right CPUType is passed in for WoA(ARM32), because it has not been implemented in LLVM CodeView yet.