MC: support different sized constants in constant pools
authorDavid Peixotto <dpeixott@codeaurora.org>
Fri, 18 Jul 2014 16:05:14 +0000 (16:05 +0000)
committerDavid Peixotto <dpeixott@codeaurora.org>
Fri, 18 Jul 2014 16:05:14 +0000 (16:05 +0000)
commitae5ba76221c698bc8aed4dba72495d147fe42300
treea6e7777784146fd6d1d380febd563d260933f83b
parenta2347baaec37ba81d64f9b455af3084cf183f127
MC: support different sized constants in constant pools

On AArch64 the pseudo instruction ldr <reg>, =... supports both
32-bit and 64-bit constants. Add support for 64 bit constants for
the pools to support the pseudo instruction fully.

Changes the AArch64 ldr-pseudo tests to use 32-bit registers and
adds tests with 64-bit registers.

Patch by Janne Grunau!

Differential Revision: http://reviews.llvm.org/D4279

llvm-svn: 213387
llvm/include/llvm/MC/ConstantPools.h
llvm/include/llvm/MC/MCStreamer.h
llvm/lib/MC/ConstantPools.cpp
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
llvm/test/MC/AArch64/ldr-pseudo-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/ldr-pseudo.s
llvm/test/MC/ARM/ldr-pseudo-darwin.s
llvm/test/MC/ARM/ltorg-darwin.s