diff options
Diffstat (limited to 'src/compiler/dex/frontend.h')
-rw-r--r-- | src/compiler/dex/frontend.h | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/src/compiler/dex/frontend.h b/src/compiler/dex/frontend.h deleted file mode 100644 index 69d7f7728c..0000000000 --- a/src/compiler/dex/frontend.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ART_SRC_COMPILER_DEX_COMPILER_H_ -#define ART_SRC_COMPILER_DEX_COMPILER_H_ - -#include "dex_file.h" -#include "dex_instruction.h" - - - - - - -namespace llvm { - class Module; - class LLVMContext; -} - -namespace art { -namespace llvm { - class IntrinsicHelper; - class IRBuilder; -} - -/* - * Assembly is an iterative process, and usually terminates within - * two or three passes. This should be high enough to handle bizarre - * cases, but detect an infinite loop bug. - */ -#define MAX_ASSEMBLER_RETRIES 50 - -// Suppress optimization if corresponding bit set. -enum opt_control_vector { - kLoadStoreElimination = 0, - kLoadHoisting, - kSuppressLoads, - kNullCheckElimination, - kPromoteRegs, - kTrackLiveTemps, - kSafeOptimizations, - kBBOpt, - kMatch, - kPromoteCompilerTemps, - kBranchFusing, -}; - -// Force code generation paths for testing. -enum debugControlVector { - kDebugVerbose, - kDebugDumpCFG, - kDebugSlowFieldPath, - kDebugSlowInvokePath, - kDebugSlowStringPath, - kDebugSlowTypePath, - kDebugSlowestFieldPath, - kDebugSlowestStringPath, - kDebugExerciseResolveMethod, - kDebugVerifyDataflow, - kDebugShowMemoryUsage, - kDebugShowNops, - kDebugCountOpcodes, - kDebugDumpCheckStats, - kDebugDumpBitcodeFile, - kDebugVerifyBitcode, - kDebugShowSummaryMemoryUsage, -}; - -class LLVMInfo { - public: - LLVMInfo(); - ~LLVMInfo(); - - ::llvm::LLVMContext* GetLLVMContext() { - return llvm_context_.get(); - } - - ::llvm::Module* GetLLVMModule() { - return llvm_module_; - } - - art::llvm::IntrinsicHelper* GetIntrinsicHelper() { - return intrinsic_helper_.get(); - } - - art::llvm::IRBuilder* GetIRBuilder() { - return ir_builder_.get(); - } - - private: - UniquePtr< ::llvm::LLVMContext> llvm_context_; - ::llvm::Module* llvm_module_; // Managed by context_. - UniquePtr<art::llvm::IntrinsicHelper> intrinsic_helper_; - UniquePtr<art::llvm::IRBuilder> ir_builder_; -}; - -struct CompilationUnit; -struct BasicBlock; - -} // namespace art - -extern "C" art::CompiledMethod* ArtCompileMethod(art::CompilerDriver& driver, - const art::DexFile::CodeItem* code_item, - uint32_t access_flags, - art::InvokeType invoke_type, - uint32_t class_dex_idx, - uint32_t method_idx, - jobject class_loader, - const art::DexFile& dex_file); - - - -#endif // ART_SRC_COMPILER_DEX_COMPILER_H_ |