| OLD | NEW |
| 1 //===- MCAssembler.h - Object File Generation -------------------*- C++ -*-===// | 1 //===- MCAssembler.h - Object File Generation -------------------*- 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_MCASSEMBLER_H | 10 #ifndef LLVM_MC_MCASSEMBLER_H |
| (...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 835 | 835 |
| 836 /// Check whether a fixup can be satisfied, or whether it needs to be relaxed | 836 /// Check whether a fixup can be satisfied, or whether it needs to be relaxed |
| 837 /// (increased in size, in order to hold its value correctly). | 837 /// (increased in size, in order to hold its value correctly). |
| 838 bool fixupNeedsRelaxation(const MCFixup &Fixup, const MCInstFragment *DF, | 838 bool fixupNeedsRelaxation(const MCFixup &Fixup, const MCInstFragment *DF, |
| 839 const MCAsmLayout &Layout) const; | 839 const MCAsmLayout &Layout) const; |
| 840 | 840 |
| 841 /// Check whether the given fragment needs relaxation. | 841 /// Check whether the given fragment needs relaxation. |
| 842 bool fragmentNeedsRelaxation(const MCInstFragment *IF, | 842 bool fragmentNeedsRelaxation(const MCInstFragment *IF, |
| 843 const MCAsmLayout &Layout) const; | 843 const MCAsmLayout &Layout) const; |
| 844 | 844 |
| 845 // @LOCALMOD-BEGIN | |
| 846 uint8_t ComputeBundlePadding(const MCAsmLayout &Layout, | |
| 847 MCFragment *F, | |
| 848 uint64_t FragmentOffset) const; | |
| 849 // @LOCALMOD-END | |
| 850 | |
| 851 | |
| 852 /// layoutOnce - Perform one layout iteration and return true if any offsets | 845 /// layoutOnce - Perform one layout iteration and return true if any offsets |
| 853 /// were adjusted. | 846 /// were adjusted. |
| 854 bool layoutOnce(MCAsmLayout &Layout); | 847 bool layoutOnce(MCAsmLayout &Layout); |
| 855 | 848 |
| 856 bool layoutSectionOnce(MCAsmLayout &Layout, MCSectionData &SD); | 849 bool layoutSectionOnce(MCAsmLayout &Layout, MCSectionData &SD); |
| 857 | 850 |
| 858 bool relaxInstruction(MCAsmLayout &Layout, MCInstFragment &IF); | 851 bool relaxInstruction(MCAsmLayout &Layout, MCInstFragment &IF); |
| 859 | 852 |
| 860 bool relaxLEB(MCAsmLayout &Layout, MCLEBFragment &IF); | 853 bool relaxLEB(MCAsmLayout &Layout, MCLEBFragment &IF); |
| 861 | 854 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 // implementations as we do with AsmParser. | 901 // implementations as we do with AsmParser. |
| 909 MCAssembler(MCContext &Context_, MCAsmBackend &Backend_, | 902 MCAssembler(MCContext &Context_, MCAsmBackend &Backend_, |
| 910 MCCodeEmitter &Emitter_, MCObjectWriter &Writer_, | 903 MCCodeEmitter &Emitter_, MCObjectWriter &Writer_, |
| 911 raw_ostream &OS); | 904 raw_ostream &OS); |
| 912 ~MCAssembler(); | 905 ~MCAssembler(); |
| 913 | 906 |
| 914 MCContext &getContext() const { return Context; } | 907 MCContext &getContext() const { return Context; } |
| 915 | 908 |
| 916 MCAsmBackend &getBackend() const { return Backend; } | 909 MCAsmBackend &getBackend() const { return Backend; } |
| 917 | 910 |
| 918 // @LOCALMOD-BEGIN | |
| 919 uint64_t getBundleSize() const; | |
| 920 uint64_t getBundleMask() const; | |
| 921 // @LOCALMOD-END | |
| 922 | |
| 923 | |
| 924 MCCodeEmitter &getEmitter() const { return Emitter; } | 911 MCCodeEmitter &getEmitter() const { return Emitter; } |
| 925 | 912 |
| 926 MCObjectWriter &getWriter() const { return Writer; } | 913 MCObjectWriter &getWriter() const { return Writer; } |
| 927 | 914 |
| 928 /// Finish - Do final processing and write the object to the output stream. | 915 /// Finish - Do final processing and write the object to the output stream. |
| 929 /// \p Writer is used for custom object writer (as the MCJIT does), | 916 /// \p Writer is used for custom object writer (as the MCJIT does), |
| 930 /// if not specified it is automatically created from backend. | 917 /// if not specified it is automatically created from backend. |
| 931 void Finish(); | 918 void Finish(); |
| 932 | 919 |
| 933 // FIXME: This does not belong here. | 920 // FIXME: This does not belong here. |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1066 } | 1053 } |
| 1067 | 1054 |
| 1068 /// @} | 1055 /// @} |
| 1069 | 1056 |
| 1070 void dump(); | 1057 void dump(); |
| 1071 }; | 1058 }; |
| 1072 | 1059 |
| 1073 } // end namespace llvm | 1060 } // end namespace llvm |
| 1074 | 1061 |
| 1075 #endif | 1062 #endif |
| OLD | NEW |