mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
eliminate the "string" form of ConstantArray::get, using
ConstantDataArray::getString instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149365 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -352,17 +352,6 @@ public:
|
|||||||
// ConstantArray accessors
|
// ConstantArray accessors
|
||||||
static Constant *get(ArrayType *T, ArrayRef<Constant*> V);
|
static Constant *get(ArrayType *T, ArrayRef<Constant*> V);
|
||||||
|
|
||||||
/// This method constructs a ConstantArray and initializes it with a text
|
|
||||||
/// string. The default behavior (AddNull==true) causes a null terminator to
|
|
||||||
/// be placed at the end of the array. This effectively increases the length
|
|
||||||
/// of the array by one (you've been warned). However, in some situations
|
|
||||||
/// this is not desired so if AddNull==false then the string is copied without
|
|
||||||
/// null termination.
|
|
||||||
|
|
||||||
// FIXME Remove this.
|
|
||||||
static Constant *get(LLVMContext &Context, StringRef Initializer,
|
|
||||||
bool AddNull = true);
|
|
||||||
|
|
||||||
/// Transparently provide more efficient getOperand methods.
|
/// Transparently provide more efficient getOperand methods.
|
||||||
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Constant);
|
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Constant);
|
||||||
|
|
||||||
|
@ -2018,7 +2018,8 @@ bool LLParser::ParseValID(ValID &ID, PerFunctionState *PFS) {
|
|||||||
}
|
}
|
||||||
case lltok::kw_c: // c "foo"
|
case lltok::kw_c: // c "foo"
|
||||||
Lex.Lex();
|
Lex.Lex();
|
||||||
ID.ConstantVal = ConstantArray::get(Context, Lex.getStrVal(), false);
|
ID.ConstantVal = ConstantDataArray::getString(Context, Lex.getStrVal(),
|
||||||
|
false);
|
||||||
if (ParseToken(lltok::StringConstant, "expected string")) return true;
|
if (ParseToken(lltok::StringConstant, "expected string")) return true;
|
||||||
ID.Kind = ValID::t_Constant;
|
ID.Kind = ValID::t_Constant;
|
||||||
return false;
|
return false;
|
||||||
|
@ -213,7 +213,7 @@ const char *AddressSanitizer::getPassName() const {
|
|||||||
|
|
||||||
// Create a constant for Str so that we can pass it to the run-time lib.
|
// Create a constant for Str so that we can pass it to the run-time lib.
|
||||||
static GlobalVariable *createPrivateGlobalForString(Module &M, StringRef Str) {
|
static GlobalVariable *createPrivateGlobalForString(Module &M, StringRef Str) {
|
||||||
Constant *StrConst = ConstantArray::get(M.getContext(), Str);
|
Constant *StrConst = ConstantDataArray::getString(M.getContext(), Str);
|
||||||
return new GlobalVariable(M, StrConst->getType(), true,
|
return new GlobalVariable(M, StrConst->getType(), true,
|
||||||
GlobalValue::PrivateLinkage, StrConst, "");
|
GlobalValue::PrivateLinkage, StrConst, "");
|
||||||
}
|
}
|
||||||
|
@ -780,12 +780,6 @@ Constant *ConstantArray::get(ArrayType *Ty, ArrayRef<Constant*> V) {
|
|||||||
return pImpl->ArrayConstants.getOrCreate(Ty, V);
|
return pImpl->ArrayConstants.getOrCreate(Ty, V);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: Remove this method.
|
|
||||||
Constant *ConstantArray::get(LLVMContext &Context, StringRef Str,
|
|
||||||
bool AddNull) {
|
|
||||||
return ConstantDataArray::getString(Context, Str, AddNull);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// getTypeForElements - Return an anonymous struct type to use for a constant
|
/// getTypeForElements - Return an anonymous struct type to use for a constant
|
||||||
/// with the specified set of elements. The list must not be empty.
|
/// with the specified set of elements. The list must not be empty.
|
||||||
StructType *ConstantStruct::getTypeForElements(LLVMContext &Context,
|
StructType *ConstantStruct::getTypeForElements(LLVMContext &Context,
|
||||||
|
@ -634,7 +634,7 @@ LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str,
|
|||||||
LLVMBool DontNullTerminate) {
|
LLVMBool DontNullTerminate) {
|
||||||
/* Inverted the sense of AddNull because ', 0)' is a
|
/* Inverted the sense of AddNull because ', 0)' is a
|
||||||
better mnemonic for null termination than ', 1)'. */
|
better mnemonic for null termination than ', 1)'. */
|
||||||
return wrap(ConstantArray::get(*unwrap(C), StringRef(Str, Length),
|
return wrap(ConstantDataArray::getString(*unwrap(C), StringRef(Str, Length),
|
||||||
DontNullTerminate == 0));
|
DontNullTerminate == 0));
|
||||||
}
|
}
|
||||||
LLVMValueRef LLVMConstStructInContext(LLVMContextRef C,
|
LLVMValueRef LLVMConstStructInContext(LLVMContextRef C,
|
||||||
|
@ -24,7 +24,7 @@ using namespace llvm;
|
|||||||
/// specified. If Name is specified, it is the name of the global variable
|
/// specified. If Name is specified, it is the name of the global variable
|
||||||
/// created.
|
/// created.
|
||||||
Value *IRBuilderBase::CreateGlobalString(StringRef Str, const Twine &Name) {
|
Value *IRBuilderBase::CreateGlobalString(StringRef Str, const Twine &Name) {
|
||||||
Constant *StrConstant = ConstantArray::get(Context, Str, true);
|
Constant *StrConstant = ConstantDataArray::getString(Context, Str);
|
||||||
Module &M = *BB->getParent()->getParent();
|
Module &M = *BB->getParent()->getParent();
|
||||||
GlobalVariable *GV = new GlobalVariable(M, StrConstant->getType(),
|
GlobalVariable *GV = new GlobalVariable(M, StrConstant->getType(),
|
||||||
true, GlobalValue::PrivateLinkage,
|
true, GlobalValue::PrivateLinkage,
|
||||||
|
@ -820,7 +820,8 @@ static void CleanupAndPrepareModules(BugDriver &BD, Module *&Test,
|
|||||||
// Don't forward functions which are external in the test module too.
|
// Don't forward functions which are external in the test module too.
|
||||||
if (TestFn && !TestFn->isDeclaration()) {
|
if (TestFn && !TestFn->isDeclaration()) {
|
||||||
// 1. Add a string constant with its name to the global file
|
// 1. Add a string constant with its name to the global file
|
||||||
Constant *InitArray = ConstantArray::get(F->getContext(), F->getName());
|
Constant *InitArray =
|
||||||
|
ConstantDataArray::getString(F->getContext(), F->getName());
|
||||||
GlobalVariable *funcName =
|
GlobalVariable *funcName =
|
||||||
new GlobalVariable(*Safe, InitArray->getType(), true /*isConstant*/,
|
new GlobalVariable(*Safe, InitArray->getType(), true /*isConstant*/,
|
||||||
GlobalValue::InternalLinkage, InitArray,
|
GlobalValue::InternalLinkage, InitArray,
|
||||||
|
Reference in New Issue
Block a user