This is an archive of the discontinued LLVM Phabricator instance.

Add support for AVX-512 CodeView Registers
ClosedPublic

Authored by zturner on Aug 15 2018, 4:23 PM.

Details

Summary

AVX-512 introduces 16 new YMM registers, as well as 32 ZMM registers. These are already in our X86 target register description file, so our code generator was trying to use them, and then failing to find a mapping to the corresponding CodeView registers when emitting debug info. I pulled these values from the latest version of cvconst.h that ships with the DIA SDK. After making this change, I can recompile an application which was previously crashing, and it no longer crashes.

Diff Detail

Repository
rL LLVM

Event Timeline

zturner created this revision.Aug 15 2018, 4:23 PM
rnk added inline comments.Aug 15 2018, 4:31 PM
llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
270 ↗(On Diff #160939)

As a follow up after you land this, I want to remove this CVReg prefix from the .def file that was added in rL333421. @JDevlieghere I don't like how it affects our dumped output. Instead the enum should token paste CVReg onto each register name.

rnk accepted this revision.Aug 15 2018, 4:53 PM

lgtm

This revision is now accepted and ready to land.Aug 15 2018, 4:53 PM
This revision was automatically updated to reflect the committed changes.