| OLD | NEW | 
|---|
| 1 //===- subzero/src/IceTargetLoweringX8632.cpp - x86-32 lowering -----------===// | 1 //===- subzero/src/IceTargetLoweringX8632.cpp - x86-32 lowering -----------===// | 
| 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 TargetLoweringX8632 class, which | 10 // This file implements the TargetLoweringX8632 class, which | 
| (...skipping 4100 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4111     if (NextCast->getCastKind() == InstCast::Sext && | 4111     if (NextCast->getCastKind() == InstCast::Sext && | 
| 4112         NextCast->getSrc(0) == SignExtendedResult) { | 4112         NextCast->getSrc(0) == SignExtendedResult) { | 
| 4113       NextCast->setDeleted(); | 4113       NextCast->setDeleted(); | 
| 4114       _movp(NextCast->getDest(), legalizeToVar(SignExtendedResult)); | 4114       _movp(NextCast->getDest(), legalizeToVar(SignExtendedResult)); | 
| 4115       // Skip over the instruction. | 4115       // Skip over the instruction. | 
| 4116       Context.advanceNext(); | 4116       Context.advanceNext(); | 
| 4117     } | 4117     } | 
| 4118   } | 4118   } | 
| 4119 } | 4119 } | 
| 4120 | 4120 | 
| 4121 void TargetX8632::lowerUnreachable(const InstUnreachable * /*Inst*/) { | 4121 void TargetX8632::lowerUnreachable(const InstUnreachable * /*Inst*/) { _ud2(); } | 
| 4122   _ud2(); |  | 
| 4123 } |  | 
| 4124 | 4122 | 
| 4125 // Turn an i64 Phi instruction into a pair of i32 Phi instructions, to | 4123 // Turn an i64 Phi instruction into a pair of i32 Phi instructions, to | 
| 4126 // preserve integrity of liveness analysis.  Undef values are also | 4124 // preserve integrity of liveness analysis.  Undef values are also | 
| 4127 // turned into zeroes, since loOperand() and hiOperand() don't expect | 4125 // turned into zeroes, since loOperand() and hiOperand() don't expect | 
| 4128 // Undef input. | 4126 // Undef input. | 
| 4129 void TargetX8632::prelowerPhis() { | 4127 void TargetX8632::prelowerPhis() { | 
| 4130   CfgNode *Node = Context.getNode(); | 4128   CfgNode *Node = Context.getNode(); | 
| 4131   for (Inst &I : Node->getPhis()) { | 4129   for (Inst &I : Node->getPhis()) { | 
| 4132     auto Phi = llvm::dyn_cast<InstPhi>(&I); | 4130     auto Phi = llvm::dyn_cast<InstPhi>(&I); | 
| 4133     if (Phi->isDeleted()) | 4131     if (Phi->isDeleted()) | 
| (...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4768   case FT_Asm: | 4766   case FT_Asm: | 
| 4769   case FT_Iasm: { | 4767   case FT_Iasm: { | 
| 4770     OstreamLocker L(Ctx); | 4768     OstreamLocker L(Ctx); | 
| 4771     emitConstantPool<PoolTypeConverter<float>>(Ctx); | 4769     emitConstantPool<PoolTypeConverter<float>>(Ctx); | 
| 4772     emitConstantPool<PoolTypeConverter<double>>(Ctx); | 4770     emitConstantPool<PoolTypeConverter<double>>(Ctx); | 
| 4773   } break; | 4771   } break; | 
| 4774   } | 4772   } | 
| 4775 } | 4773 } | 
| 4776 | 4774 | 
| 4777 } // end of namespace Ice | 4775 } // end of namespace Ice | 
| OLD | NEW | 
|---|