[PowerPC] Generate little-endian object files

Press ? to show keyboard shortcuts.
Committed
uweigandMar 24 2014, 11:16 AM
Parents
rL204633: Use CHECK-DAG in a test so that it isn't sensitive to metadata order.
Branches
Unknown
Tags
Unknown
Description

[PowerPC] Generate little-endian object files

As a first step towards real little-endian code generation, this patch
changes the PowerPC MC layer to actually generate little-endian object
files. This involves passing the little-endian flag through the various
layers, including down to createELFObjectWriter so we actually get basic
little-endian ELF objects, emitting instructions in little-endian order,
and handling fixups and relocations as appropriate for little-endian.

The bulk of the patch is to update most test cases in test/MC/PowerPC
to verify both big- and little-endian encodings. (The only test cases
*not* updated are those that create actual big-endian ABI code, like
the TLS tests.)

Note that while the object files are now little-endian, the generated
code itself is not yet updated, in particular, it still does not adhere
to the ELFv2 ABI.

Changes (24)

HistoryBrowseChangePath
HistoryBrowseModifiedllvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
HistoryBrowseModifiedllvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
HistoryBrowseModifiedllvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
HistoryBrowseModifiedllvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
HistoryBrowseModifiedllvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/deprecated-p7.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc-llong.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc-machine.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc-nop.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc-word.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-encoding-bookIII.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-encoding-ext.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-encoding-fp.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-encoding-vmx.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-encoding.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-errors.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-fixup-apply.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-fixup-explicit.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-fixups.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-initial-cfa.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-operands.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/ppc64-regs.s
HistoryBrowseModifiedllvm/trunk/test/MC/PowerPC/vsx.s

rL204634

llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp

Loading...

llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp

Loading...

llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp

Loading...

llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp

Loading...

llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h

Loading...

llvm/trunk/test/MC/PowerPC/deprecated-p7.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc-llong.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc-machine.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc-nop.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc-word.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookIII.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-encoding-ext.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-encoding-fp.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-encoding-vmx.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-encoding.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-errors.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-fixup-apply.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-fixup-explicit.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-fixups.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-initial-cfa.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-operands.s

Loading...

llvm/trunk/test/MC/PowerPC/ppc64-regs.s

Loading...

llvm/trunk/test/MC/PowerPC/vsx.s

Loading...

Add Comment