diff options
Diffstat (limited to 'src/compiler/codegen')
| -rw-r--r-- | src/compiler/codegen/CodegenUtil.cc | 7 | ||||
| -rw-r--r-- | src/compiler/codegen/MethodBitcode.cc | 9 | ||||
| -rw-r--r-- | src/compiler/codegen/arm/armv7-a-neon/ArchVariant.cc | 55 | ||||
| -rw-r--r-- | src/compiler/codegen/arm/armv7-a-neon/Codegen.cc | 58 |
4 files changed, 6 insertions, 123 deletions
diff --git a/src/compiler/codegen/CodegenUtil.cc b/src/compiler/codegen/CodegenUtil.cc index ca0a933789..fa5c66ffeb 100644 --- a/src/compiler/codegen/CodegenUtil.cc +++ b/src/compiler/codegen/CodegenUtil.cc @@ -421,13 +421,6 @@ void oatCodegenDump(CompilationUnit* cUnit) for (lirInsn = cUnit->firstLIRInsn; lirInsn; lirInsn = lirInsn->next) { oatDumpLIRInsn(cUnit, lirInsn, 0); } - for (lirInsn = cUnit->classPointerList; lirInsn; lirInsn = lirInsn->next) { - thisLIR = (LIR*) lirInsn; - LOG(INFO) << StringPrintf("%x (%04x): .class (%s)", - thisLIR->offset, thisLIR->offset, - ((CallsiteInfo *) - thisLIR->operands[0])->classDescriptor); - } for (lirInsn = cUnit->literalList; lirInsn; lirInsn = lirInsn->next) { thisLIR = (LIR*) lirInsn; LOG(INFO) << StringPrintf("%x (%04x): .word (%#x)", diff --git a/src/compiler/codegen/MethodBitcode.cc b/src/compiler/codegen/MethodBitcode.cc index f4b8461654..c50d74da59 100644 --- a/src/compiler/codegen/MethodBitcode.cc +++ b/src/compiler/codegen/MethodBitcode.cc @@ -15,7 +15,6 @@ */ #if defined(ART_USE_QUICK_COMPILER) - #include "object_utils.h" #include <llvm/Support/ToolOutputFile.h> @@ -1777,8 +1776,12 @@ bool methodBlockBitcodeConversion(CompilationUnit* cUnit, BasicBlock* bb) { if (bb->blockType == kDead) return false; llvm::BasicBlock* llvmBB = getLLVMBlock(cUnit, bb->id); - cUnit->irb->SetInsertPoint(llvmBB); - setDexOffset(cUnit, bb->startOffset); + if (llvmBB == NULL) { + CHECK(bb->blockType == kExitBlock); + } else { + cUnit->irb->SetInsertPoint(llvmBB); + setDexOffset(cUnit, bb->startOffset); + } if (cUnit->printMe) { LOG(INFO) << "................................"; diff --git a/src/compiler/codegen/arm/armv7-a-neon/ArchVariant.cc b/src/compiler/codegen/arm/armv7-a-neon/ArchVariant.cc deleted file mode 100644 index 0512896340..0000000000 --- a/src/compiler/codegen/arm/armv7-a-neon/ArchVariant.cc +++ /dev/null @@ -1,55 +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. - */ - -namespace art { - -/* - * Determine the initial instruction set to be used for this trace. - * Later components may decide to change this. - */ -InstructionSet oatInstructionSet() -{ - return kThumb2; -} - -/* Architecture-specific initializations and checks go here */ -bool oatArchVariantInit(void) -{ - return true; -} - -int oatTargetOptHint(int key) -{ - int res = 0; - switch (key) { - case kMaxHoistDistance: - res = 7; - break; - default: - LOG(FATAL) << "Unknown target optimization hint key: " << key; - } - return res; -} - -void oatGenMemBarrier(CompilationUnit* cUnit, int barrierKind) -{ -#if ANDROID_SMP != 0 - LIR* dmb = newLIR1(cUnit, kThumb2Dmb, barrierKind); - dmb->defMask = ENCODE_ALL; -#endif -} - -} // namespace art diff --git a/src/compiler/codegen/arm/armv7-a-neon/Codegen.cc b/src/compiler/codegen/arm/armv7-a-neon/Codegen.cc deleted file mode 100644 index 660d095278..0000000000 --- a/src/compiler/codegen/arm/armv7-a-neon/Codegen.cc +++ /dev/null @@ -1,58 +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. - */ -#define _CODEGEN_C -#define _ARMV7_A_NEON -#define TARGET_ARM - -#include "../../../Dalvik.h" -#include "../../../CompilerInternals.h" -#include "../arm/ArmLIR.h" -#include "../../Ralloc.h" -#include "../Codegen.h" - -/* Common codegen utility code */ -#include "../../CodegenUtil.cc" - -/* Thumb2-specific factory utilities */ -#include "../Thumb2/Factory.cc" -/* Target indepedent factory utilities */ -#include "../../CodegenFactory.cc" -/* Target independent gen routines */ -#include "../../GenCommon.cc" -/* Shared invoke gen routines */ -#include "../../GenInvoke.cc" -/* Arm-specific factory utilities */ -#include "../ArchFactory.cc" - -/* Thumb2-specific codegen routines */ -#include "../Thumb2/Gen.cc" -/* Thumb2+VFP codegen routines */ -#include "../FP/Thumb2VFP.cc" - -/* Thumb2-specific register allocation */ -#include "../Thumb2/Ralloc.cc" - -/* Bitcode conversion */ -#include "../../MethodBitcode.cc" - -/* MIR2LIR dispatcher and architectural independent codegen routines */ -#include "../../MethodCodegenDriver.cc" - -/* Target-independent local optimizations */ -#include "../../LocalOptimizations.cc" - -/* Architecture manifest */ -#include "ArchVariant.cc" |