diff options
| author | Tom Stellard <thomas.stellard@amd.com> | 2014-10-03 19:02:02 +0000 |
|---|---|---|
| committer | Tom Stellard <thomas.stellard@amd.com> | 2014-10-03 19:02:02 +0000 |
| commit | fae1dc8a12136dc21d646403532cedda0265e7a9 (patch) | |
| tree | 3485ca48aab06361a6daacfcdaa07170ff1f5ac9 /llvm/lib | |
| parent | 1a6e0a9b405f7a42403e896d51a32cdf27cef1bb (diff) | |
| download | bcm5719-llvm-fae1dc8a12136dc21d646403532cedda0265e7a9.tar.gz bcm5719-llvm-fae1dc8a12136dc21d646403532cedda0265e7a9.zip | |
R600: Align functions to 256 bytes
llvm-svn: 219002
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/R600/AMDGPUAsmPrinter.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp | 11 |
2 files changed, 12 insertions, 3 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUAsmPrinter.cpp b/llvm/lib/Target/R600/AMDGPUAsmPrinter.cpp index 1a0a7db9b1c..5511d7c6f8f 100644 --- a/llvm/lib/Target/R600/AMDGPUAsmPrinter.cpp +++ b/llvm/lib/Target/R600/AMDGPUAsmPrinter.cpp @@ -97,6 +97,10 @@ void AMDGPUAsmPrinter::EmitEndOfAsmFile(Module &M) { } bool AMDGPUAsmPrinter::runOnMachineFunction(MachineFunction &MF) { + + // The starting address of all shader programs must be 256 bytes aligned. + MF.setAlignment(8); + SetupMachineFunction(MF); EmitFunctionHeader(); diff --git a/llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp b/llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp index d55f27b0455..5fb311b3016 100644 --- a/llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp +++ b/llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp @@ -57,9 +57,7 @@ public: assert(!"Not implemented"); } bool mayNeedRelaxation(const MCInst &Inst) const override { return false; } - bool writeNopData(uint64_t Count, MCObjectWriter *OW) const override { - return true; - } + bool writeNopData(uint64_t Count, MCObjectWriter *OW) const override; const MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const override; }; @@ -116,6 +114,13 @@ const MCFixupKindInfo &AMDGPUAsmBackend::getFixupKindInfo( return Infos[Kind - FirstTargetFixupKind]; } +bool AMDGPUAsmBackend::writeNopData(uint64_t Count, MCObjectWriter *OW) const { + for (unsigned i = 0; i < Count; ++i) + OW->Write8(0); + + return true; +} + //===----------------------------------------------------------------------===// // ELFAMDGPUAsmBackend class //===----------------------------------------------------------------------===// |

