forked from OSchip/llvm-project
				
			Avoid a call to getOrCreateSymbol when we already have the symbol.
llvm-svn: 238890
This commit is contained in:
		
							parent
							
								
									2f41757634
								
							
						
					
					
						commit
						9aa3ab30a9
					
				| 
						 | 
					@ -128,6 +128,7 @@ GetSymbolFromOperand(const MachineOperand &MO) const {
 | 
				
			||||||
  const DataLayout *DL = TM.getDataLayout();
 | 
					  const DataLayout *DL = TM.getDataLayout();
 | 
				
			||||||
  assert((MO.isGlobal() || MO.isSymbol() || MO.isMBB()) && "Isn't a symbol reference");
 | 
					  assert((MO.isGlobal() || MO.isSymbol() || MO.isMBB()) && "Isn't a symbol reference");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  MCSymbol *Sym = nullptr;
 | 
				
			||||||
  SmallString<128> Name;
 | 
					  SmallString<128> Name;
 | 
				
			||||||
  StringRef Suffix;
 | 
					  StringRef Suffix;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -160,12 +161,14 @@ GetSymbolFromOperand(const MachineOperand &MO) const {
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      getMang()->getNameWithPrefix(Name, MO.getSymbolName());
 | 
					      getMang()->getNameWithPrefix(Name, MO.getSymbolName());
 | 
				
			||||||
  } else if (MO.isMBB()) {
 | 
					  } else if (MO.isMBB()) {
 | 
				
			||||||
    Name += MO.getMBB()->getSymbol()->getName();
 | 
					    assert(Suffix.empty());
 | 
				
			||||||
 | 
					    Sym = MO.getMBB()->getSymbol();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  unsigned OrigLen = Name.size() - PrefixLen;
 | 
					  unsigned OrigLen = Name.size() - PrefixLen;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Name += Suffix;
 | 
					  Name += Suffix;
 | 
				
			||||||
  MCSymbol *Sym = Ctx.getOrCreateSymbol(Name);
 | 
					  if (!Sym)
 | 
				
			||||||
 | 
					    Sym = Ctx.getOrCreateSymbol(Name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  StringRef OrigName = StringRef(Name).substr(PrefixLen, OrigLen);
 | 
					  StringRef OrigName = StringRef(Name).substr(PrefixLen, OrigLen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue