mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-27 02:31:09 +00:00
Remove Value::{isName, getNameRef}.
Also, change MDString to use a StringRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77098 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
460d51e0c0
commit
03d7651c36
@ -484,6 +484,9 @@ clients should be unaffected by this transition, unless they are used to <tt>Val
|
|||||||
treating the result as an <tt>std::string</tt>, you can either
|
treating the result as an <tt>std::string</tt>, you can either
|
||||||
uses <tt>Twine::str</tt> to get the result as an <tt>std::string</tt>, or
|
uses <tt>Twine::str</tt> to get the result as an <tt>std::string</tt>, or
|
||||||
could move to a <tt>Twine</tt> based design.</li>
|
could move to a <tt>Twine</tt> based design.</li>
|
||||||
|
|
||||||
|
<li><tt>isName()</tt> should be replaced with comparison
|
||||||
|
against <tt>getName()</tt> (this is now efficient).</tt>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
@ -64,25 +64,25 @@ public:
|
|||||||
///
|
///
|
||||||
class MDString : public MetadataBase {
|
class MDString : public MetadataBase {
|
||||||
MDString(const MDString &); // DO NOT IMPLEMENT
|
MDString(const MDString &); // DO NOT IMPLEMENT
|
||||||
const char *StrBegin;
|
StringRef Str;
|
||||||
unsigned StrLength;
|
|
||||||
friend class LLVMContextImpl;
|
friend class LLVMContextImpl;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
explicit MDString(const char *begin, unsigned l)
|
explicit MDString(const char *begin, unsigned l)
|
||||||
: MetadataBase(Type::MetadataTy, Value::MDStringVal),
|
: MetadataBase(Type::MetadataTy, Value::MDStringVal), Str(begin, l) {}
|
||||||
StrBegin(begin), StrLength(l) {}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
unsigned length() const { return StrLength; }
|
StringRef getString() const { return Str; }
|
||||||
|
|
||||||
|
unsigned length() const { return Str.size(); }
|
||||||
|
|
||||||
/// begin() - Pointer to the first byte of the string.
|
/// begin() - Pointer to the first byte of the string.
|
||||||
///
|
///
|
||||||
const char *begin() const { return StrBegin; }
|
const char *begin() const { return Str.begin(); }
|
||||||
|
|
||||||
/// end() - Pointer to one byte past the end of the string.
|
/// end() - Pointer to one byte past the end of the string.
|
||||||
///
|
///
|
||||||
const char *end() const { return StrBegin + length(); }
|
const char *end() const { return Str.end(); }
|
||||||
|
|
||||||
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
||||||
static inline bool classof(const MDString *) { return true; }
|
static inline bool classof(const MDString *) { return true; }
|
||||||
|
@ -118,10 +118,6 @@ public:
|
|||||||
/// getNameEnd - Return a pointer to the end of the name.
|
/// getNameEnd - Return a pointer to the end of the name.
|
||||||
const char *getNameEnd() const { return getNameStart() + getNameLen(); }
|
const char *getNameEnd() const { return getNameStart() + getNameLen(); }
|
||||||
|
|
||||||
/// isName - Return true if this value has the name specified by the provided
|
|
||||||
/// nul terminated string.
|
|
||||||
bool isName(const char *N) const;
|
|
||||||
|
|
||||||
/// getNameLen - Return the length of the string, correctly handling nul
|
/// getNameLen - Return the length of the string, correctly handling nul
|
||||||
/// characters embedded into them.
|
/// characters embedded into them.
|
||||||
unsigned getNameLen() const;
|
unsigned getNameLen() const;
|
||||||
@ -131,7 +127,6 @@ public:
|
|||||||
/// construct a string, they are very expensive and should be avoided.
|
/// construct a string, they are very expensive and should be avoided.
|
||||||
StringRef getName() const { return StringRef(getNameStart(), getNameLen()); }
|
StringRef getName() const { return StringRef(getNameStart(), getNameLen()); }
|
||||||
std::string getNameStr() const;
|
std::string getNameStr() const;
|
||||||
StringRef getNameRef() const;
|
|
||||||
|
|
||||||
void setName(const Twine &Name);
|
void setName(const Twine &Name);
|
||||||
void setName(const char *Name, unsigned NameLen);
|
void setName(const char *Name, unsigned NameLen);
|
||||||
|
@ -477,7 +477,7 @@ void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
|
|||||||
/// special global used by LLVM. If so, emit it and return true, otherwise
|
/// special global used by LLVM. If so, emit it and return true, otherwise
|
||||||
/// do nothing and return false.
|
/// do nothing and return false.
|
||||||
bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) {
|
bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) {
|
||||||
if (GV->isName("llvm.used")) {
|
if (GV->getName() == "llvm.used") {
|
||||||
if (TAI->getUsedDirective() != 0) // No need to emit this at all.
|
if (TAI->getUsedDirective() != 0) // No need to emit this at all.
|
||||||
EmitLLVMUsedList(GV->getInitializer());
|
EmitLLVMUsedList(GV->getInitializer());
|
||||||
return true;
|
return true;
|
||||||
|
@ -548,7 +548,7 @@ static bool LinkGlobals(Module *Dest, const Module *Src,
|
|||||||
// Check to see if may have to link the global with the global, alias or
|
// Check to see if may have to link the global with the global, alias or
|
||||||
// function.
|
// function.
|
||||||
if (SGV->hasName() && !SGV->hasLocalLinkage())
|
if (SGV->hasName() && !SGV->hasLocalLinkage())
|
||||||
DGV = cast_or_null<GlobalValue>(DestSymTab.lookup(SGV->getNameRef()));
|
DGV = cast_or_null<GlobalValue>(DestSymTab.lookup(SGV->getName()));
|
||||||
|
|
||||||
// If we found a global with the same name in the dest module, but it has
|
// If we found a global with the same name in the dest module, but it has
|
||||||
// internal linkage, we are really not doing any linkage here.
|
// internal linkage, we are really not doing any linkage here.
|
||||||
@ -941,7 +941,7 @@ static bool LinkFunctionProtos(Module *Dest, const Module *Src,
|
|||||||
// Check to see if may have to link the function with the global, alias or
|
// Check to see if may have to link the function with the global, alias or
|
||||||
// function.
|
// function.
|
||||||
if (SF->hasName() && !SF->hasLocalLinkage())
|
if (SF->hasName() && !SF->hasLocalLinkage())
|
||||||
DGV = cast_or_null<GlobalValue>(DestSymTab.lookup(SF->getNameRef()));
|
DGV = cast_or_null<GlobalValue>(DestSymTab.lookup(SF->getName()));
|
||||||
|
|
||||||
// If we found a global with the same name in the dest module, but it has
|
// If we found a global with the same name in the dest module, but it has
|
||||||
// internal linkage, we are really not doing any linkage here.
|
// internal linkage, we are really not doing any linkage here.
|
||||||
|
@ -1104,9 +1104,9 @@ void ARMAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
|
|||||||
if (EmitSpecialLLVMGlobal(GVar)) {
|
if (EmitSpecialLLVMGlobal(GVar)) {
|
||||||
if (Subtarget->isTargetDarwin() &&
|
if (Subtarget->isTargetDarwin() &&
|
||||||
TM.getRelocationModel() == Reloc::Static) {
|
TM.getRelocationModel() == Reloc::Static) {
|
||||||
if (GVar->isName("llvm.global_ctors"))
|
if (GVar->getName() == "llvm.global_ctors")
|
||||||
O << ".reference .constructors_used\n";
|
O << ".reference .constructors_used\n";
|
||||||
else if (GVar->isName("llvm.global_dtors"))
|
else if (GVar->getName() == "llvm.global_dtors")
|
||||||
O << ".reference .destructors_used\n";
|
O << ".reference .destructors_used\n";
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -874,9 +874,9 @@ void PPCDarwinAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
|
|||||||
// Check to see if this is a special global used by LLVM, if so, emit it.
|
// Check to see if this is a special global used by LLVM, if so, emit it.
|
||||||
if (EmitSpecialLLVMGlobal(GVar)) {
|
if (EmitSpecialLLVMGlobal(GVar)) {
|
||||||
if (TM.getRelocationModel() == Reloc::Static) {
|
if (TM.getRelocationModel() == Reloc::Static) {
|
||||||
if (GVar->isName("llvm.global_ctors"))
|
if (GVar->getName() == "llvm.global_ctors")
|
||||||
O << ".reference .constructors_used\n";
|
O << ".reference .constructors_used\n";
|
||||||
else if (GVar->isName("llvm.global_dtors"))
|
else if (GVar->getName() == "llvm.global_dtors")
|
||||||
O << ".reference .destructors_used\n";
|
O << ".reference .destructors_used\n";
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -773,9 +773,9 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
|
|||||||
if (EmitSpecialLLVMGlobal(GVar)) {
|
if (EmitSpecialLLVMGlobal(GVar)) {
|
||||||
if (Subtarget->isTargetDarwin() &&
|
if (Subtarget->isTargetDarwin() &&
|
||||||
TM.getRelocationModel() == Reloc::Static) {
|
TM.getRelocationModel() == Reloc::Static) {
|
||||||
if (GVar->isName("llvm.global_ctors"))
|
if (GVar->getName() == "llvm.global_ctors")
|
||||||
O << ".reference .constructors_used\n";
|
O << ".reference .constructors_used\n";
|
||||||
else if (GVar->isName("llvm.global_dtors"))
|
else if (GVar->getName() == "llvm.global_dtors")
|
||||||
O << ".reference .destructors_used\n";
|
O << ".reference .destructors_used\n";
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -512,7 +512,7 @@ struct VISIBILITY_HIDDEN ExitOpt : public LibCallOptimization {
|
|||||||
|
|
||||||
// Verify the caller is main, and that the result type of main matches the
|
// Verify the caller is main, and that the result type of main matches the
|
||||||
// argument type of exit.
|
// argument type of exit.
|
||||||
if (!Caller->isName("main") || !Caller->hasExternalLinkage() ||
|
if (Caller->getName() != "main" || !Caller->hasExternalLinkage() ||
|
||||||
Caller->getReturnType() != CI->getOperand(1)->getType())
|
Caller->getReturnType() != CI->getOperand(1)->getType())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ void InlineCostAnalyzer::FunctionInfo::analyzeFunction(Function *F) {
|
|||||||
// probably won't do this in callers.
|
// probably won't do this in callers.
|
||||||
if (Function *F = CS.getCalledFunction())
|
if (Function *F = CS.getCalledFunction())
|
||||||
if (F->isDeclaration() &&
|
if (F->isDeclaration() &&
|
||||||
(F->isName("setjmp") || F->isName("_setjmp"))) {
|
(F->getName() == "setjmp" || F->getName() == "_setjmp")) {
|
||||||
NeverInline = true;
|
NeverInline = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -66,10 +66,9 @@ static const Module *getModuleFromVal(const Value *V) {
|
|||||||
|
|
||||||
// PrintEscapedString - Print each character of the specified string, escaping
|
// PrintEscapedString - Print each character of the specified string, escaping
|
||||||
// it if it is not printable or if it is an escape char.
|
// it if it is not printable or if it is an escape char.
|
||||||
static void PrintEscapedString(const char *Str, unsigned Length,
|
static void PrintEscapedString(const StringRef &Name, raw_ostream &Out) {
|
||||||
raw_ostream &Out) {
|
for (unsigned i = 0, e = Name.size(); i != e; ++i) {
|
||||||
for (unsigned i = 0; i != Length; ++i) {
|
unsigned char C = Name[i];
|
||||||
unsigned char C = Str[i];
|
|
||||||
if (isprint(C) && C != '\\' && C != '"')
|
if (isprint(C) && C != '\\' && C != '"')
|
||||||
Out << C;
|
Out << C;
|
||||||
else
|
else
|
||||||
@ -77,12 +76,6 @@ static void PrintEscapedString(const char *Str, unsigned Length,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// PrintEscapedString - Print each character of the specified string, escaping
|
|
||||||
// it if it is not printable or if it is an escape char.
|
|
||||||
static void PrintEscapedString(const std::string &Str, raw_ostream &Out) {
|
|
||||||
PrintEscapedString(Str.c_str(), Str.size(), Out);
|
|
||||||
}
|
|
||||||
|
|
||||||
enum PrefixType {
|
enum PrefixType {
|
||||||
GlobalPrefix,
|
GlobalPrefix,
|
||||||
LabelPrefix,
|
LabelPrefix,
|
||||||
@ -93,9 +86,9 @@ enum PrefixType {
|
|||||||
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
|
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
|
||||||
/// prefixed with % (if the string only contains simple characters) or is
|
/// prefixed with % (if the string only contains simple characters) or is
|
||||||
/// surrounded with ""'s (if it has special chars in it). Print it out.
|
/// surrounded with ""'s (if it has special chars in it). Print it out.
|
||||||
static void PrintLLVMName(raw_ostream &OS, const char *NameStr,
|
static void PrintLLVMName(raw_ostream &OS, const StringRef &Name,
|
||||||
unsigned NameLen, PrefixType Prefix) {
|
PrefixType Prefix) {
|
||||||
assert(NameStr && "Cannot get empty name!");
|
assert(Name.data() && "Cannot get empty name!");
|
||||||
switch (Prefix) {
|
switch (Prefix) {
|
||||||
default: llvm_unreachable("Bad prefix!");
|
default: llvm_unreachable("Bad prefix!");
|
||||||
case NoPrefix: break;
|
case NoPrefix: break;
|
||||||
@ -105,10 +98,10 @@ static void PrintLLVMName(raw_ostream &OS, const char *NameStr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Scan the name to see if it needs quotes first.
|
// Scan the name to see if it needs quotes first.
|
||||||
bool NeedsQuotes = isdigit(NameStr[0]);
|
bool NeedsQuotes = isdigit(Name[0]);
|
||||||
if (!NeedsQuotes) {
|
if (!NeedsQuotes) {
|
||||||
for (unsigned i = 0; i != NameLen; ++i) {
|
for (unsigned i = 0, e = Name.size(); i != e; ++i) {
|
||||||
char C = NameStr[i];
|
char C = Name[i];
|
||||||
if (!isalnum(C) && C != '-' && C != '.' && C != '_') {
|
if (!isalnum(C) && C != '-' && C != '.' && C != '_') {
|
||||||
NeedsQuotes = true;
|
NeedsQuotes = true;
|
||||||
break;
|
break;
|
||||||
@ -118,14 +111,14 @@ static void PrintLLVMName(raw_ostream &OS, const char *NameStr,
|
|||||||
|
|
||||||
// If we didn't need any quotes, just write out the name in one blast.
|
// If we didn't need any quotes, just write out the name in one blast.
|
||||||
if (!NeedsQuotes) {
|
if (!NeedsQuotes) {
|
||||||
OS.write(NameStr, NameLen);
|
OS << Name;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Okay, we need quotes. Output the quotes and escape any scary characters as
|
// Okay, we need quotes. Output the quotes and escape any scary characters as
|
||||||
// needed.
|
// needed.
|
||||||
OS << '"';
|
OS << '"';
|
||||||
PrintEscapedString(NameStr, NameLen, OS);
|
PrintEscapedString(Name, OS);
|
||||||
OS << '"';
|
OS << '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,7 +126,7 @@ static void PrintLLVMName(raw_ostream &OS, const char *NameStr,
|
|||||||
/// prefixed with % (if the string only contains simple characters) or is
|
/// prefixed with % (if the string only contains simple characters) or is
|
||||||
/// surrounded with ""'s (if it has special chars in it). Print it out.
|
/// surrounded with ""'s (if it has special chars in it). Print it out.
|
||||||
static void PrintLLVMName(raw_ostream &OS, const Value *V) {
|
static void PrintLLVMName(raw_ostream &OS, const Value *V) {
|
||||||
PrintLLVMName(OS, V->getNameStart(), V->getNameLen(),
|
PrintLLVMName(OS, V->getName(),
|
||||||
isa<GlobalValue>(V) ? GlobalPrefix : LocalPrefix);
|
isa<GlobalValue>(V) ? GlobalPrefix : LocalPrefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -433,7 +426,7 @@ static void AddModuleTypesToPrinter(TypePrinting &TP,
|
|||||||
// Get the name as a string and insert it into TypeNames.
|
// Get the name as a string and insert it into TypeNames.
|
||||||
std::string NameStr;
|
std::string NameStr;
|
||||||
raw_string_ostream NameOS(NameStr);
|
raw_string_ostream NameOS(NameStr);
|
||||||
PrintLLVMName(NameOS, TI->first.c_str(), TI->first.length(), LocalPrefix);
|
PrintLLVMName(NameOS, TI->first, LocalPrefix);
|
||||||
TP.addTypeName(Ty, NameOS.str());
|
TP.addTypeName(Ty, NameOS.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1138,7 +1131,7 @@ static void WriteAsOperandInternal(raw_ostream &Out, const Value *V,
|
|||||||
|
|
||||||
if (const MDString *MDS = dyn_cast<MDString>(V)) {
|
if (const MDString *MDS = dyn_cast<MDString>(V)) {
|
||||||
Out << "!\"";
|
Out << "!\"";
|
||||||
PrintEscapedString(MDS->begin(), MDS->length(), Out);
|
PrintEscapedString(MDS->getString(), Out);
|
||||||
Out << '"';
|
Out << '"';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1474,7 +1467,7 @@ void AssemblyWriter::printTypeSymbolTable(const TypeSymbolTable &ST) {
|
|||||||
for (TypeSymbolTable::const_iterator TI = ST.begin(), TE = ST.end();
|
for (TypeSymbolTable::const_iterator TI = ST.begin(), TE = ST.end();
|
||||||
TI != TE; ++TI) {
|
TI != TE; ++TI) {
|
||||||
Out << '\t';
|
Out << '\t';
|
||||||
PrintLLVMName(Out, &TI->first[0], TI->first.size(), LocalPrefix);
|
PrintLLVMName(Out, TI->first, LocalPrefix);
|
||||||
Out << " = type ";
|
Out << " = type ";
|
||||||
|
|
||||||
// Make sure we print out at least one level of the type structure, so
|
// Make sure we print out at least one level of the type structure, so
|
||||||
@ -1605,7 +1598,7 @@ void AssemblyWriter::printArgument(const Argument *Arg,
|
|||||||
void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
|
void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
|
||||||
if (BB->hasName()) { // Print out the label if it exists...
|
if (BB->hasName()) { // Print out the label if it exists...
|
||||||
Out << "\n";
|
Out << "\n";
|
||||||
PrintLLVMName(Out, BB->getNameStart(), BB->getNameLen(), LabelPrefix);
|
PrintLLVMName(Out, BB->getName(), LabelPrefix);
|
||||||
Out << ':';
|
Out << ':';
|
||||||
} else if (!BB->use_empty()) { // Don't print block # of no uses...
|
} else if (!BB->use_empty()) { // Don't print block # of no uses...
|
||||||
Out << "\n; <label>:";
|
Out << "\n; <label>:";
|
||||||
@ -1982,7 +1975,7 @@ void Value::print(raw_ostream &OS, AssemblyAnnotationWriter *AAW) const {
|
|||||||
TypePrinter.print(MDS->getType(), OS);
|
TypePrinter.print(MDS->getType(), OS);
|
||||||
OS << ' ';
|
OS << ' ';
|
||||||
OS << "!\"";
|
OS << "!\"";
|
||||||
PrintEscapedString(MDS->begin(), MDS->length(), OS);
|
PrintEscapedString(MDS->getString(), OS);
|
||||||
OS << '"';
|
OS << '"';
|
||||||
} else if (const MDNode *N = dyn_cast<MDNode>(this)) {
|
} else if (const MDNode *N = dyn_cast<MDNode>(this)) {
|
||||||
SlotTracker SlotTable(N);
|
SlotTracker SlotTable(N);
|
||||||
|
@ -241,23 +241,23 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
|
|||||||
bool isMovSD = false, isShufPD = false;
|
bool isMovSD = false, isShufPD = false;
|
||||||
bool isUnpckhPD = false, isUnpcklPD = false;
|
bool isUnpckhPD = false, isUnpcklPD = false;
|
||||||
bool isPunpckhQPD = false, isPunpcklQPD = false;
|
bool isPunpckhQPD = false, isPunpcklQPD = false;
|
||||||
if (strcmp(F->getNameStart(), "llvm.x86.sse2.loadh.pd") == 0)
|
if (F->getName() == "llvm.x86.sse2.loadh.pd")
|
||||||
isLoadH = true;
|
isLoadH = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.loadl.pd") == 0)
|
else if (F->getName() == "llvm.x86.sse2.loadl.pd")
|
||||||
isLoadL = true;
|
isLoadL = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.movl.dq") == 0)
|
else if (F->getName() == "llvm.x86.sse2.movl.dq")
|
||||||
isMovL = true;
|
isMovL = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.movs.d") == 0)
|
else if (F->getName() == "llvm.x86.sse2.movs.d")
|
||||||
isMovSD = true;
|
isMovSD = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.shuf.pd") == 0)
|
else if (F->getName() == "llvm.x86.sse2.shuf.pd")
|
||||||
isShufPD = true;
|
isShufPD = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.unpckh.pd") == 0)
|
else if (F->getName() == "llvm.x86.sse2.unpckh.pd")
|
||||||
isUnpckhPD = true;
|
isUnpckhPD = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.unpckl.pd") == 0)
|
else if (F->getName() == "llvm.x86.sse2.unpckl.pd")
|
||||||
isUnpcklPD = true;
|
isUnpcklPD = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.punpckh.qdq") == 0)
|
else if (F->getName() == "llvm.x86.sse2.punpckh.qdq")
|
||||||
isPunpckhQPD = true;
|
isPunpckhQPD = true;
|
||||||
else if (strcmp(F->getNameStart(), "llvm.x86.sse2.punpckl.qdq") == 0)
|
else if (F->getName() == "llvm.x86.sse2.punpckl.qdq")
|
||||||
isPunpcklQPD = true;
|
isPunpcklQPD = true;
|
||||||
|
|
||||||
if (isLoadH || isLoadL || isMovL || isMovSD || isShufPD ||
|
if (isLoadH || isLoadL || isMovL || isMovSD || isShufPD ||
|
||||||
|
@ -188,8 +188,7 @@ Constant *LLVMContextImpl::getConstantVector(const VectorType *Ty,
|
|||||||
|
|
||||||
void LLVMContextImpl::erase(MDString *M) {
|
void LLVMContextImpl::erase(MDString *M) {
|
||||||
sys::SmartScopedWriter<true> Writer(ConstantsLock);
|
sys::SmartScopedWriter<true> Writer(ConstantsLock);
|
||||||
MDStringCache.erase(MDStringCache.find(StringRef(M->StrBegin,
|
MDStringCache.erase(MDStringCache.find(M->getString()));
|
||||||
M->length())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLVMContextImpl::erase(MDNode *M) {
|
void LLVMContextImpl::erase(MDNode *M) {
|
||||||
|
@ -165,13 +165,6 @@ unsigned Value::getNameLen() const {
|
|||||||
return Name ? Name->getKeyLength() : 0;
|
return Name ? Name->getKeyLength() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isName - Return true if this value has the name specified by the provided
|
|
||||||
/// nul terminated string.
|
|
||||||
bool Value::isName(const char *N) const {
|
|
||||||
unsigned InLen = strlen(N);
|
|
||||||
return InLen == getNameLen() && memcmp(getNameStart(), N, InLen) == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
std::string Value::getNameStr() const {
|
std::string Value::getNameStr() const {
|
||||||
if (Name == 0) return "";
|
if (Name == 0) return "";
|
||||||
@ -179,11 +172,6 @@ std::string Value::getNameStr() const {
|
|||||||
Name->getKeyData()+Name->getKeyLength());
|
Name->getKeyData()+Name->getKeyLength());
|
||||||
}
|
}
|
||||||
|
|
||||||
StringRef Value::getNameRef() const {
|
|
||||||
if (Name == 0) return StringRef();
|
|
||||||
return StringRef(Name->getKeyData(), Name->getKeyLength());
|
|
||||||
}
|
|
||||||
|
|
||||||
void Value::setName(const Twine &Name) {
|
void Value::setName(const Twine &Name) {
|
||||||
SmallString<32> NameData;
|
SmallString<32> NameData;
|
||||||
Name.toVector(NameData);
|
Name.toVector(NameData);
|
||||||
|
@ -43,7 +43,7 @@ void ValueSymbolTable::reinsertValue(Value* V) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Otherwise, there is a naming conflict. Rename this value.
|
// Otherwise, there is a naming conflict. Rename this value.
|
||||||
SmallString<128> UniqueName(V->getNameStart(), V->getNameEnd());
|
SmallString<128> UniqueName(V->getName().begin(), V->getName().end());
|
||||||
|
|
||||||
// The name is too already used, just free it so we can allocate a new name.
|
// The name is too already used, just free it so we can allocate a new name.
|
||||||
V->Name->Destroy();
|
V->Name->Destroy();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user