-
Notifications
You must be signed in to change notification settings - Fork 15.1k
[ADT] Deprecate a soft-deprecated APInt constructor #166314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ADT] Deprecate a soft-deprecated APInt constructor #166314
Conversation
This patch deprecates an APInt constructor that has been soft-deprecated via comments since: commit 7a16288 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Jul 18 21:45:40 2011 +0000 This patch updates a small number of remaining uses.
|
@llvm/pr-subscribers-llvm-adt Author: Kazu Hirata (kazutakahirata) ChangesThis patch deprecates an APInt constructor that has been commit 7a16288 This patch updates a small number of remaining uses. Full diff: https://github.com/llvm/llvm-project/pull/166314.diff 3 Files Affected:
diff --git a/lldb/source/Utility/RegisterValue.cpp b/lldb/source/Utility/RegisterValue.cpp
index 12c349a143c0f..8b2af4e3d4f0e 100644
--- a/lldb/source/Utility/RegisterValue.cpp
+++ b/lldb/source/Utility/RegisterValue.cpp
@@ -206,7 +206,7 @@ Status RegisterValue::SetValueFromData(const RegisterInfo ®_info,
int128.x[0] = data2;
int128.x[1] = data1;
}
- SetUInt128(llvm::APInt(128, 2, int128.x));
+ SetUInt128(llvm::APInt(128, int128.x));
}
break;
case eEncodingIEEE754:
@@ -596,8 +596,10 @@ llvm::APInt RegisterValue::GetAsUInt128(const llvm::APInt &fail_value,
case 8:
case 16:
return llvm::APInt(
- BITWIDTH_INT128, NUM_OF_WORDS_INT128,
- (reinterpret_cast<const type128 *>(buffer.bytes.data()))->x);
+ BITWIDTH_INT128,
+ llvm::ArrayRef(
+ (reinterpret_cast<const type128 *>(buffer.bytes.data()))->x,
+ NUM_OF_WORDS_INT128));
}
} break;
}
diff --git a/llvm/include/llvm/ADT/APInt.h b/llvm/include/llvm/ADT/APInt.h
index 26283d2437d48..aa680efd291a9 100644
--- a/llvm/include/llvm/ADT/APInt.h
+++ b/llvm/include/llvm/ADT/APInt.h
@@ -154,6 +154,7 @@ class [[nodiscard]] APInt {
/// Once all uses of this constructor are migrated to other constructors,
/// consider marking this overload ""= delete" to prevent calls from being
/// incorrectly bound to the APInt(unsigned, uint64_t, bool) constructor.
+ LLVM_DEPRECATED("Use other constructors of APInt", "APInt")
LLVM_ABI APInt(unsigned numBits, unsigned numWords, const uint64_t bigVal[]);
/// Construct an APInt from a string representation.
diff --git a/polly/lib/Support/GICHelper.cpp b/polly/lib/Support/GICHelper.cpp
index 027e0194732f4..948bb6a9b9614 100644
--- a/polly/lib/Support/GICHelper.cpp
+++ b/polly/lib/Support/GICHelper.cpp
@@ -59,7 +59,7 @@ APInt polly::APIntFromVal(__isl_take isl_val *Val) {
Data = (uint64_t *)malloc(NumChunks * ChunkSize);
isl_val_get_abs_num_chunks(Val, ChunkSize, Data);
int NumBits = CHAR_BIT * ChunkSize * NumChunks;
- APInt A(NumBits, NumChunks, Data);
+ APInt A(NumBits, ArrayRef(Data, NumChunks));
// As isl provides only an interface to obtain data that describes the
// absolute value of an isl_val, A at this point always contains a positive
|
|
@llvm/pr-subscribers-lldb Author: Kazu Hirata (kazutakahirata) ChangesThis patch deprecates an APInt constructor that has been commit 7a16288 This patch updates a small number of remaining uses. Full diff: https://github.com/llvm/llvm-project/pull/166314.diff 3 Files Affected:
diff --git a/lldb/source/Utility/RegisterValue.cpp b/lldb/source/Utility/RegisterValue.cpp
index 12c349a143c0f..8b2af4e3d4f0e 100644
--- a/lldb/source/Utility/RegisterValue.cpp
+++ b/lldb/source/Utility/RegisterValue.cpp
@@ -206,7 +206,7 @@ Status RegisterValue::SetValueFromData(const RegisterInfo ®_info,
int128.x[0] = data2;
int128.x[1] = data1;
}
- SetUInt128(llvm::APInt(128, 2, int128.x));
+ SetUInt128(llvm::APInt(128, int128.x));
}
break;
case eEncodingIEEE754:
@@ -596,8 +596,10 @@ llvm::APInt RegisterValue::GetAsUInt128(const llvm::APInt &fail_value,
case 8:
case 16:
return llvm::APInt(
- BITWIDTH_INT128, NUM_OF_WORDS_INT128,
- (reinterpret_cast<const type128 *>(buffer.bytes.data()))->x);
+ BITWIDTH_INT128,
+ llvm::ArrayRef(
+ (reinterpret_cast<const type128 *>(buffer.bytes.data()))->x,
+ NUM_OF_WORDS_INT128));
}
} break;
}
diff --git a/llvm/include/llvm/ADT/APInt.h b/llvm/include/llvm/ADT/APInt.h
index 26283d2437d48..aa680efd291a9 100644
--- a/llvm/include/llvm/ADT/APInt.h
+++ b/llvm/include/llvm/ADT/APInt.h
@@ -154,6 +154,7 @@ class [[nodiscard]] APInt {
/// Once all uses of this constructor are migrated to other constructors,
/// consider marking this overload ""= delete" to prevent calls from being
/// incorrectly bound to the APInt(unsigned, uint64_t, bool) constructor.
+ LLVM_DEPRECATED("Use other constructors of APInt", "APInt")
LLVM_ABI APInt(unsigned numBits, unsigned numWords, const uint64_t bigVal[]);
/// Construct an APInt from a string representation.
diff --git a/polly/lib/Support/GICHelper.cpp b/polly/lib/Support/GICHelper.cpp
index 027e0194732f4..948bb6a9b9614 100644
--- a/polly/lib/Support/GICHelper.cpp
+++ b/polly/lib/Support/GICHelper.cpp
@@ -59,7 +59,7 @@ APInt polly::APIntFromVal(__isl_take isl_val *Val) {
Data = (uint64_t *)malloc(NumChunks * ChunkSize);
isl_val_get_abs_num_chunks(Val, ChunkSize, Data);
int NumBits = CHAR_BIT * ChunkSize * NumChunks;
- APInt A(NumBits, NumChunks, Data);
+ APInt A(NumBits, ArrayRef(Data, NumChunks));
// As isl provides only an interface to obtain data that describes the
// absolute value of an isl_val, A at this point always contains a positive
|
This patch deprecates an APInt constructor that has been
soft-deprecated via comments since:
commit 7a16288
Author: Jeffrey Yasskin jyasskin@google.com
Date: Mon Jul 18 21:45:40 2011 +0000
This patch updates a small number of remaining uses.