[mips] Add MipsOptionRecord abstraction and use it to implement .reginfo/.MIPS.options
authorDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 21 Jul 2014 13:30:55 +0000 (13:30 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 21 Jul 2014 13:30:55 +0000 (13:30 +0000)
commit68c3747efb97be3a751bb12ed89af9c7539bc401
tree970963753dd42b10090d36b94e5280bb2db2502f
parentedf1570d4e300bb51f852da199a6fa8df141ad66
[mips] Add MipsOptionRecord abstraction and use it to implement .reginfo/.MIPS.options

This abstraction allows us to support the various records that can be placed in
the .MIPS.options section in the future. We currently use it to record register
usage information (the ODK_REGINFO record in our ELF64 spec).

Each .MIPS.options record should subclass MipsOptionRecord and provide an
implementation of EmitMipsOptionRecord.

Patch by Matheus Almeida and Toma Tabacu

llvm-svn: 213522
llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp [new file with mode: 0644]
llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
llvm/lib/Target/Mips/MipsOptionRecord.h [new file with mode: 0644]
llvm/test/MC/Mips/mips-reginfo-fp32.s [new file with mode: 0644]
llvm/test/MC/Mips/mips-reginfo-fp64.s [new file with mode: 0644]
llvm/test/MC/Mips/mips64/abiflags.s
llvm/test/MC/Mips/mips64r2/abiflags.s