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

Side by Side Diff: src/IceInstMIPS32.cpp

Issue 2289043002: [SubZero] Implement lowerSwitch for MIPS (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addressed review comments Created 4 years, 3 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
OLDNEW
1 //===- subzero/src/IceInstMips32.cpp - Mips32 instruction implementation --===// 1 //===- subzero/src/IceInstMips32.cpp - Mips32 instruction implementation --===//
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 /// \file 10 /// \file
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 "\t"; 423 "\t";
424 RA->emit(Func); 424 RA->emit(Func);
425 } 425 }
426 426
427 void InstMIPS32Br::emit(const Cfg *Func) const { 427 void InstMIPS32Br::emit(const Cfg *Func) const {
428 if (!BuildDefs::dump()) 428 if (!BuildDefs::dump())
429 return; 429 return;
430 Ostream &Str = Func->getContext()->getStrEmit(); 430 Ostream &Str = Func->getContext()->getStrEmit();
431 Str << "\t" 431 Str << "\t"
432 "b" << InstMIPS32CondAttributes[Predicate].EmitString << "\t"; 432 "b" << InstMIPS32CondAttributes[Predicate].EmitString << "\t";
433 if (Label) { 433 if (Label != nullptr) {
434 Str << Label->getLabelName(); 434 getSrc(0)->emit(Func);
435 Str << ", ";
436 getSrc(1)->emit(Func);
437 Str << ", " << Label->getLabelName();
435 } else { 438 } else {
436 if (isUnconditionalBranch()) { 439 if (isUnconditionalBranch()) {
437 Str << getTargetFalse()->getAsmName(); 440 Str << getTargetFalse()->getAsmName();
438 } else { 441 } else {
439 switch (Predicate) { 442 switch (Predicate) {
440 default: 443 default:
441 break; 444 break;
442 case CondMIPS32::EQ: 445 case CondMIPS32::EQ:
443 case CondMIPS32::NE: { 446 case CondMIPS32::NE: {
444 getSrc(0)->emit(Func); 447 getSrc(0)->emit(Func);
(...skipping 23 matching lines...) Expand all
468 } 471 }
469 } 472 }
470 473
471 void InstMIPS32Br::dump(const Cfg *Func) const { 474 void InstMIPS32Br::dump(const Cfg *Func) const {
472 if (!BuildDefs::dump()) 475 if (!BuildDefs::dump())
473 return; 476 return;
474 Ostream &Str = Func->getContext()->getStrDump(); 477 Ostream &Str = Func->getContext()->getStrDump();
475 Str << "\t" 478 Str << "\t"
476 "b" << InstMIPS32CondAttributes[Predicate].EmitString << "\t"; 479 "b" << InstMIPS32CondAttributes[Predicate].EmitString << "\t";
477 480
478 if (Label) { 481 if (Label != nullptr) {
479 Str << Label->getLabelName(); 482 getSrc(0)->dump(Func);
483 Str << ", ";
484 getSrc(1)->dump(Func);
485 Str << ", " << Label->getLabelName();
480 } else { 486 } else {
481 if (isUnconditionalBranch()) { 487 if (isUnconditionalBranch()) {
482 Str << getTargetFalse()->getAsmName(); 488 Str << getTargetFalse()->getAsmName();
483 } else { 489 } else {
484 dumpSources(Func); 490 dumpSources(Func);
485 Str << ", "; 491 Str << ", ";
486 Str << getTargetFalse()->getAsmName(); 492 Str << getTargetFalse()->getAsmName();
487 if (getTargetTrue()) { 493 if (getTargetTrue()) {
488 Str << "\n\t" 494 Str << "\n\t"
489 << "b" 495 << "b"
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 getSrc(0)->emit(Func); 744 getSrc(0)->emit(Func);
739 return; 745 return;
740 } 746 }
741 747
742 // stack to stack 748 // stack to stack
743 llvm::report_fatal_error("mov cant copy stack to stack."); 749 llvm::report_fatal_error("mov cant copy stack to stack.");
744 } 750 }
745 751
746 } // end of namespace MIPS32 752 } // end of namespace MIPS32
747 } // end of namespace Ice 753 } // end of namespace Ice
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698