Fixes PR37524.
The exception handling encodings for x86_64 in kernel code model has been changed with r309884. Restore it to correct ones. These encodings include PersonalityEncoding, LSDAEncoding and TTypeEncoding.
Paths
| Differential D50490
Restore correct x86_64 EH encodings in kernel code model ClosedPublic Authored by lliu0 on Aug 8 2018, 10:15 PM.
Details Summary Fixes PR37524. The exception handling encodings for x86_64 in kernel code model has been changed with r309884. Restore it to correct ones. These encodings include PersonalityEncoding, LSDAEncoding and TTypeEncoding.
Diff Detail
Event TimelineComment Actions
So all things considered this LGTM. This revision is now accepted and ready to land.Aug 9 2018, 3:19 AM Comment Actions Rafael's commit message was still correct, this shouldn't be part of MCObjectFileInfo, it should be in TargetLoweringObjectFile, which is only used by CodeGen. Give me a minute to try to untangle that. This revision now requires changes to proceed.Aug 9 2018, 10:51 AM Comment Actions If we move some of this logic back up into CodeGen, that removes the need to pass the full code model to the assembler. I implemented this in D50533. Please take a look. You should be able to rebase your change to the x86_64 EH encodings on that, removing the need to thread the code model to MC. lliu0 retitled this revision from Pass code model parameter to MC from CodeGen to Restore correct x86_64 EH encodings in kernel code model.Aug 9 2018, 7:04 PM Comment Actions Code looks good, but we should strengthen the test case.
This revision is now accepted and ready to land.Aug 12 2018, 10:37 PM Closed by commit rL339534: Restore correct x86_64 EH encodings in kernel code model (authored by lliu0). · Explain WhyAug 12 2018, 11:07 PM This revision was automatically updated to reflect the committed changes. hvdijk added inline comments.
Revision Contents
Diff 159854 include/llvm/MC/MCObjectFileInfo.h
lib/MC/MCObjectFileInfo.cpp
lib/Target/TargetLoweringObjectFile.cpp
test/MC/X86/code-model-kernel.ll
tools/llvm-mc/llvm-mc.cpp
|