Align function starts to target-specific bundle alignment. BUG=none R=stichnot@chromium.org Review URL: https://codereview.chromium.org/515993002
diff --git a/src/IceCfg.cpp b/src/IceCfg.cpp index 6fe7eb0..d699ef5 100644 --- a/src/IceCfg.cpp +++ b/src/IceCfg.cpp
@@ -314,6 +314,13 @@ Str << "\t.globl\t" << MangledName << "\n"; Str << "\t.type\t" << MangledName << ",@function\n"; } + Str << "\t.p2align " << getTarget()->getBundleAlignLog2Bytes() << ",0x"; + llvm::ArrayRef<uint8_t> Pad = getTarget()->getNonExecBundlePadding(); + for (llvm::ArrayRef<uint8_t>::iterator I = Pad.begin(), E = Pad.end(); + I != E; ++I) { + Str.write_hex(*I); + } + Str << "\n"; for (NodeList::const_iterator I = Nodes.begin(), E = Nodes.end(); I != E; ++I) { (*I)->emit(this);