From 98649d17966f3c32d2f67c16ec2a6183748bb243 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Thu, 24 Jun 2004 21:54:47 +0000 Subject: [PATCH] In emitting code for a GEP instr, iterate over GEPTypes because there is one more operand in GEPOps than there are types in GEPTypes: the pointer that is the first operand of the GEP instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14375 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPC32ISelSimple.cpp | 5 ++++- lib/Target/PowerPC/PowerPCISelSimple.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/Target/PowerPC/PPC32ISelSimple.cpp b/lib/Target/PowerPC/PPC32ISelSimple.cpp index cea9de6b81c..33f979dac68 100644 --- a/lib/Target/PowerPC/PPC32ISelSimple.cpp +++ b/lib/Target/PowerPC/PPC32ISelSimple.cpp @@ -7,6 +7,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "isel" #include "PowerPC.h" #include "PowerPCInstrBuilder.h" #include "PowerPCInstrInfo.h" @@ -24,6 +25,8 @@ #include "llvm/Target/TargetMachine.h" #include "llvm/Support/GetElementPtrTypeIterator.h" #include "llvm/Support/InstVisitor.h" +#include "Support/Debug.h" +#include using namespace llvm; namespace { @@ -2594,7 +2597,7 @@ void ISel::emitGEPOperation(MachineBasicBlock *MBB, gep_type_end(Src->getType(), IdxBegin, IdxEnd)); // Keep emitting instructions until we consume the entire GEP instruction. - while (!GEPOps.empty()) { + while (!GEPTypes.empty()) { // It's an array or pointer access: [ArraySize x ElementType]. const SequentialType *SqTy = cast(GEPTypes.back()); Value *idx = GEPOps.back(); diff --git a/lib/Target/PowerPC/PowerPCISelSimple.cpp b/lib/Target/PowerPC/PowerPCISelSimple.cpp index cea9de6b81c..33f979dac68 100644 --- a/lib/Target/PowerPC/PowerPCISelSimple.cpp +++ b/lib/Target/PowerPC/PowerPCISelSimple.cpp @@ -7,6 +7,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "isel" #include "PowerPC.h" #include "PowerPCInstrBuilder.h" #include "PowerPCInstrInfo.h" @@ -24,6 +25,8 @@ #include "llvm/Target/TargetMachine.h" #include "llvm/Support/GetElementPtrTypeIterator.h" #include "llvm/Support/InstVisitor.h" +#include "Support/Debug.h" +#include using namespace llvm; namespace { @@ -2594,7 +2597,7 @@ void ISel::emitGEPOperation(MachineBasicBlock *MBB, gep_type_end(Src->getType(), IdxBegin, IdxEnd)); // Keep emitting instructions until we consume the entire GEP instruction. - while (!GEPOps.empty()) { + while (!GEPTypes.empty()) { // It's an array or pointer access: [ArraySize x ElementType]. const SequentialType *SqTy = cast(GEPTypes.back()); Value *idx = GEPOps.back(); -- 2.34.1