Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Side by Side Diff: include/llvm/MC/MCELFStreamer.h

Issue 1133723005: Cherry-pick r234714: [MC] Write padding into fragments when -mc-relax-all flag is used (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Rebase Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/llvm/MC/MCAssembler.h ('k') | include/llvm/MC/MCObjectStreamer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- MCELFStreamer.h - MCStreamer ELF Object File Interface ---*- C++ -*-===// 1 //===- MCELFStreamer.h - MCStreamer ELF Object File Interface ---*- C++ -*-===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 9
10 #ifndef LLVM_MC_MCELFSTREAMER_H 10 #ifndef LLVM_MC_MCELFSTREAMER_H
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 void EmitBundleAlignMode(unsigned AlignPow2) override; 93 void EmitBundleAlignMode(unsigned AlignPow2) override;
94 void EmitBundleLock(bool AlignToEnd) override; 94 void EmitBundleLock(bool AlignToEnd) override;
95 void EmitBundleUnlock() override; 95 void EmitBundleUnlock() override;
96 96
97 private: 97 private:
98 void EmitInstToFragment(const MCInst &Inst, const MCSubtargetInfo &) override; 98 void EmitInstToFragment(const MCInst &Inst, const MCSubtargetInfo &) override;
99 void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo &) override; 99 void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo &) override;
100 100
101 void fixSymbolsInTLSFixups(const MCExpr *expr); 101 void fixSymbolsInTLSFixups(const MCExpr *expr);
102 102
103 /// \brief Merge the content of the fragment \p EF into the fragment \p DF.
104 void mergeFragment(MCDataFragment *, MCEncodedFragmentWithFixups *);
105
103 bool SeenIdent; 106 bool SeenIdent;
104 107
105 struct LocalCommon { 108 struct LocalCommon {
106 MCSymbolData *SD; 109 MCSymbolData *SD;
107 uint64_t Size; 110 uint64_t Size;
108 unsigned ByteAlignment; 111 unsigned ByteAlignment;
109 }; 112 };
110 113
111 std::vector<LocalCommon> LocalCommons; 114 std::vector<LocalCommon> LocalCommons;
112 115
113 SmallPtrSet<MCSymbol *, 16> BindingExplicitlySet; 116 SmallPtrSet<MCSymbol *, 16> BindingExplicitlySet;
117
118 /// BundleGroups - The stack of fragments holding the bundle-locked
119 /// instructions.
120 llvm::SmallVector<MCDataFragment *, 4> BundleGroups;
114 }; 121 };
115 122
116 MCELFStreamer *createARMELFStreamer(MCContext &Context, MCAsmBackend &TAB, 123 MCELFStreamer *createARMELFStreamer(MCContext &Context, MCAsmBackend &TAB,
117 raw_ostream &OS, MCCodeEmitter *Emitter, 124 raw_ostream &OS, MCCodeEmitter *Emitter,
118 bool RelaxAll, bool IsThumb); 125 bool RelaxAll, bool IsThumb);
119 126
120 } // end namespace llvm 127 } // end namespace llvm
121 128
122 #endif 129 #endif
OLDNEW
« no previous file with comments | « include/llvm/MC/MCAssembler.h ('k') | include/llvm/MC/MCObjectStreamer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698