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

Side by Side Diff: src/PNaClTranslator.cpp

Issue 619983002: Subzero: Remove LLVM_DELETED_FUNCTION. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 6 years, 2 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 | « src/PNaClTranslator.h ('k') | src/assembler.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 //===- subzero/src/PNaClTranslator.cpp - ICE from bitcode -----------------===// 1 //===- subzero/src/PNaClTranslator.cpp - ICE from bitcode -----------------===//
2 // 2 //
3 // The Subzero Code Generator 3 // The Subzero Code Generator
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 // This file implements the PNaCl bitcode file to Ice, to machine code 10 // This file implements the PNaCl bitcode file to Ice, to machine code
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 namespace { 44 namespace {
45 45
46 // TODO(kschimpf) Remove error recovery once implementation complete. 46 // TODO(kschimpf) Remove error recovery once implementation complete.
47 static cl::opt<bool> AllowErrorRecovery( 47 static cl::opt<bool> AllowErrorRecovery(
48 "allow-pnacl-reader-error-recovery", 48 "allow-pnacl-reader-error-recovery",
49 cl::desc("Allow error recovery when reading PNaCl bitcode."), 49 cl::desc("Allow error recovery when reading PNaCl bitcode."),
50 cl::init(false)); 50 cl::init(false));
51 51
52 // Top-level class to read PNaCl bitcode files, and translate to ICE. 52 // Top-level class to read PNaCl bitcode files, and translate to ICE.
53 class TopLevelParser : public NaClBitcodeParser { 53 class TopLevelParser : public NaClBitcodeParser {
54 TopLevelParser(const TopLevelParser &) LLVM_DELETED_FUNCTION; 54 TopLevelParser(const TopLevelParser &) = delete;
55 TopLevelParser &operator=(const TopLevelParser &) LLVM_DELETED_FUNCTION; 55 TopLevelParser &operator=(const TopLevelParser &) = delete;
56 56
57 public: 57 public:
58 TopLevelParser(Ice::Translator &Translator, const std::string &InputName, 58 TopLevelParser(Ice::Translator &Translator, const std::string &InputName,
59 NaClBitcodeHeader &Header, NaClBitstreamCursor &Cursor, 59 NaClBitcodeHeader &Header, NaClBitstreamCursor &Cursor,
60 bool &ErrorStatus) 60 bool &ErrorStatus)
61 : NaClBitcodeParser(Cursor), Translator(Translator), 61 : NaClBitcodeParser(Cursor), Translator(Translator),
62 Mod(new Module(InputName, getGlobalContext())), DL(PNaClDataLayout), 62 Mod(new Module(InputName, getGlobalContext())), DL(PNaClDataLayout),
63 Header(Header), TypeConverter(getLLVMContext()), 63 Header(Header), TypeConverter(getLLVMContext()),
64 ErrorStatus(ErrorStatus), NumErrors(0), NumFunctionIds(0), 64 ErrorStatus(ErrorStatus), NumErrors(0), NumFunctionIds(0),
65 NumFunctionBlocks(0), 65 NumFunctionBlocks(0),
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 return; 760 return;
761 } 761 }
762 // If reached, just processed another initializer. See if time 762 // If reached, just processed another initializer. See if time
763 // to install global. 763 // to install global.
764 if (InitializersNeeded == Initializers.size()) 764 if (InitializersNeeded == Initializers.size())
765 installGlobalVar(); 765 installGlobalVar();
766 } 766 }
767 767
768 /// Base class for parsing a valuesymtab block in the bitcode file. 768 /// Base class for parsing a valuesymtab block in the bitcode file.
769 class ValuesymtabParser : public BlockParserBaseClass { 769 class ValuesymtabParser : public BlockParserBaseClass {
770 ValuesymtabParser(const ValuesymtabParser &) LLVM_DELETED_FUNCTION; 770 ValuesymtabParser(const ValuesymtabParser &) = delete;
771 void operator=(const ValuesymtabParser &) LLVM_DELETED_FUNCTION; 771 void operator=(const ValuesymtabParser &) = delete;
772 772
773 public: 773 public:
774 ValuesymtabParser(unsigned BlockID, BlockParserBaseClass *EnclosingParser) 774 ValuesymtabParser(unsigned BlockID, BlockParserBaseClass *EnclosingParser)
775 : BlockParserBaseClass(BlockID, EnclosingParser) {} 775 : BlockParserBaseClass(BlockID, EnclosingParser) {}
776 776
777 ~ValuesymtabParser() override {} 777 ~ValuesymtabParser() override {}
778 778
779 protected: 779 protected:
780 typedef SmallString<128> StringType; 780 typedef SmallString<128> StringType;
781 781
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 } 822 }
823 // If reached, don't know how to handle record. 823 // If reached, don't know how to handle record.
824 BlockParserBaseClass::ProcessRecord(); 824 BlockParserBaseClass::ProcessRecord();
825 return; 825 return;
826 } 826 }
827 827
828 class FunctionValuesymtabParser; 828 class FunctionValuesymtabParser;
829 829
830 /// Parses function blocks in the bitcode file. 830 /// Parses function blocks in the bitcode file.
831 class FunctionParser : public BlockParserBaseClass { 831 class FunctionParser : public BlockParserBaseClass {
832 FunctionParser(const FunctionParser &) LLVM_DELETED_FUNCTION; 832 FunctionParser(const FunctionParser &) = delete;
833 FunctionParser &operator=(const FunctionParser &) LLVM_DELETED_FUNCTION; 833 FunctionParser &operator=(const FunctionParser &) = delete;
834 friend class FunctionValuesymtabParser; 834 friend class FunctionValuesymtabParser;
835 835
836 public: 836 public:
837 FunctionParser(unsigned BlockID, BlockParserBaseClass *EnclosingParser) 837 FunctionParser(unsigned BlockID, BlockParserBaseClass *EnclosingParser)
838 : BlockParserBaseClass(BlockID, EnclosingParser), 838 : BlockParserBaseClass(BlockID, EnclosingParser),
839 Func(new Ice::Cfg(getTranslator().getContext())), CurrentBbIndex(0), 839 Func(new Ice::Cfg(getTranslator().getContext())), CurrentBbIndex(0),
840 FcnId(Context->getNextFunctionBlockValueID()), 840 FcnId(Context->getNextFunctionBlockValueID()),
841 LLVMFunc(cast<Function>(Context->getGlobalValueByID(FcnId))), 841 LLVMFunc(cast<Function>(Context->getGlobalValueByID(FcnId))),
842 CachedNumGlobalValueIDs(Context->getNumGlobalValueIDs()), 842 CachedNumGlobalValueIDs(Context->getNumGlobalValueIDs()),
843 NextLocalInstIndex(Context->getNumGlobalValueIDs()), 843 NextLocalInstIndex(Context->getNumGlobalValueIDs()),
(...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after
2009 } 2009 }
2010 default: 2010 default:
2011 // Generate error message! 2011 // Generate error message!
2012 BlockParserBaseClass::ProcessRecord(); 2012 BlockParserBaseClass::ProcessRecord();
2013 break; 2013 break;
2014 } 2014 }
2015 } 2015 }
2016 2016
2017 /// Parses constants within a function block. 2017 /// Parses constants within a function block.
2018 class ConstantsParser : public BlockParserBaseClass { 2018 class ConstantsParser : public BlockParserBaseClass {
2019 ConstantsParser(const ConstantsParser &) LLVM_DELETED_FUNCTION; 2019 ConstantsParser(const ConstantsParser &) = delete;
2020 ConstantsParser &operator=(const ConstantsParser &) LLVM_DELETED_FUNCTION; 2020 ConstantsParser &operator=(const ConstantsParser &) = delete;
2021 2021
2022 public: 2022 public:
2023 ConstantsParser(unsigned BlockID, FunctionParser *FuncParser) 2023 ConstantsParser(unsigned BlockID, FunctionParser *FuncParser)
2024 : BlockParserBaseClass(BlockID, FuncParser), FuncParser(FuncParser), 2024 : BlockParserBaseClass(BlockID, FuncParser), FuncParser(FuncParser),
2025 NextConstantType(Ice::IceType_void) {} 2025 NextConstantType(Ice::IceType_void) {}
2026 2026
2027 ~ConstantsParser() override {} 2027 ~ConstantsParser() override {}
2028 2028
2029 private: 2029 private:
2030 // The parser of the function block this constants block appears in. 2030 // The parser of the function block this constants block appears in.
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
2125 } 2125 }
2126 default: 2126 default:
2127 // Generate error message! 2127 // Generate error message!
2128 BlockParserBaseClass::ProcessRecord(); 2128 BlockParserBaseClass::ProcessRecord();
2129 return; 2129 return;
2130 } 2130 }
2131 } 2131 }
2132 2132
2133 // Parses valuesymtab blocks appearing in a function block. 2133 // Parses valuesymtab blocks appearing in a function block.
2134 class FunctionValuesymtabParser : public ValuesymtabParser { 2134 class FunctionValuesymtabParser : public ValuesymtabParser {
2135 FunctionValuesymtabParser(const FunctionValuesymtabParser &) 2135 FunctionValuesymtabParser(const FunctionValuesymtabParser &) = delete;
2136 LLVM_DELETED_FUNCTION; 2136 void operator=(const FunctionValuesymtabParser &) = delete;
2137 void operator=(const FunctionValuesymtabParser &) LLVM_DELETED_FUNCTION;
2138 2137
2139 public: 2138 public:
2140 FunctionValuesymtabParser(unsigned BlockID, FunctionParser *EnclosingParser) 2139 FunctionValuesymtabParser(unsigned BlockID, FunctionParser *EnclosingParser)
2141 : ValuesymtabParser(BlockID, EnclosingParser) {} 2140 : ValuesymtabParser(BlockID, EnclosingParser) {}
2142 2141
2143 private: 2142 private:
2144 // Returns the enclosing function parser. 2143 // Returns the enclosing function parser.
2145 FunctionParser *getFunctionParser() const { 2144 FunctionParser *getFunctionParser() const {
2146 return reinterpret_cast<FunctionParser *>(GetEnclosingParser()); 2145 return reinterpret_cast<FunctionParser *>(GetEnclosingParser());
2147 } 2146 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
2237 2236
2238 void ExitBlock() override { 2237 void ExitBlock() override {
2239 InstallGlobalAddressNamesAndInitializers(); 2238 InstallGlobalAddressNamesAndInitializers();
2240 getTranslator().emitConstants(); 2239 getTranslator().emitConstants();
2241 } 2240 }
2242 2241
2243 void ProcessRecord() override; 2242 void ProcessRecord() override;
2244 }; 2243 };
2245 2244
2246 class ModuleValuesymtabParser : public ValuesymtabParser { 2245 class ModuleValuesymtabParser : public ValuesymtabParser {
2247 ModuleValuesymtabParser(const ModuleValuesymtabParser &) 2246 ModuleValuesymtabParser(const ModuleValuesymtabParser &) = delete;
2248 LLVM_DELETED_FUNCTION; 2247 void operator=(const ModuleValuesymtabParser &) = delete;
2249 void operator=(const ModuleValuesymtabParser &) LLVM_DELETED_FUNCTION;
2250 2248
2251 public: 2249 public:
2252 ModuleValuesymtabParser(unsigned BlockID, ModuleParser *MP) 2250 ModuleValuesymtabParser(unsigned BlockID, ModuleParser *MP)
2253 : ValuesymtabParser(BlockID, MP) {} 2251 : ValuesymtabParser(BlockID, MP) {}
2254 2252
2255 ~ModuleValuesymtabParser() override {} 2253 ~ModuleValuesymtabParser() override {}
2256 2254
2257 private: 2255 private:
2258 void setValueName(uint64_t Index, StringType &Name) override; 2256 void setValueName(uint64_t Index, StringType &Name) override;
2259 void setBbName(uint64_t Index, StringType &Name) override; 2257 void setBbName(uint64_t Index, StringType &Name) override;
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2423 2421
2424 if (TopLevelBlocks != 1) { 2422 if (TopLevelBlocks != 1) {
2425 errs() << IRFilename 2423 errs() << IRFilename
2426 << ": Contains more than one module. Found: " << TopLevelBlocks 2424 << ": Contains more than one module. Found: " << TopLevelBlocks
2427 << "\n"; 2425 << "\n";
2428 ErrorStatus = true; 2426 ErrorStatus = true;
2429 } 2427 }
2430 } 2428 }
2431 2429
2432 } // end of namespace Ice 2430 } // end of namespace Ice
OLDNEW
« no previous file with comments | « src/PNaClTranslator.h ('k') | src/assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698