OSDN Git Service

[MC] Handle unknown literal register numbers in .cfi_* directives
authorJake Ehrlich <jakehehrlich@google.com>
Fri, 1 Dec 2017 21:44:27 +0000 (21:44 +0000)
committerJake Ehrlich <jakehehrlich@google.com>
Fri, 1 Dec 2017 21:44:27 +0000 (21:44 +0000)
commit977b537d0fcb82508f879ded21fb8a53810b2337
treedc5b2003a345ed2160659d759264533dff78f17f
parent0fed3ad4cb880f52a5385d695ac7367c074c09c5
[MC] Handle unknown literal register numbers in .cfi_* directives

r230670 introduced a step to map EH register numbers to standard
DWARF register numbers. This failed to consider the case when a
user .cfi_* directive uses an integer literal rather than a
register name, to specify a DWARF register number that has no
corresponding LLVM register number (e.g. a special register that
the compiler and assembler have no name for).

Fixes PR34028.

Patch by Roland McGrath

Differential Revision: https://reviews.llvm.org/D36493

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319586 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCRegisterInfo.h
lib/MC/MCAsmStreamer.cpp
lib/MC/MCDwarf.cpp
lib/MC/MCRegisterInfo.cpp
test/MC/AsmParser/cfi-unknown-register.s [new file with mode: 0644]