Skip to content

Commit 99f5b90

Browse files
committed
Merge from 'main' to 'sycl-web' (2 commits)
CONFLICT (content): Merge conflict in llvm/lib/AsmParser/LLLexer.cpp CONFLICT (content): Merge conflict in llvm/lib/Bitcode/Reader/BitcodeReader.cpp
2 parents b294d5a + 0d81093 commit 99f5b90

File tree

6 files changed

+19
-11
lines changed

6 files changed

+19
-11
lines changed

llvm/lib/AsmParser/LLLexer.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,9 @@ lltok::Kind LLLexer::LexIdentifier() {
826826
TYPEKEYWORD("x86_amx", Type::getX86_AMXTy(Context));
827827
TYPEKEYWORD("token", Type::getTokenTy(Context));
828828

829+
#ifdef INTEL_SYCL_OPAQUEPOINTER_READY
830+
TYPEKEYWORD("ptr", PointerType::getUnqual(Context));
831+
#else // INTEL_SYCL_OPAQUEPOINTER_READY
829832
if (Keyword == "ptr") {
830833
// setOpaquePointers() must be called before creating any pointer types.
831834
if (!Context.hasSetOpaquePointersValue()) {
@@ -837,6 +840,7 @@ lltok::Kind LLLexer::LexIdentifier() {
837840
TyVal = PointerType::getUnqual(Context);
838841
return lltok::Type;
839842
}
843+
#endif // INTEL_SYCL_OPAQUEPOINTER_READY
840844

841845
#undef TYPEKEYWORD
842846

llvm/lib/Bitcode/Reader/BitcodeReader.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2385,11 +2385,13 @@ Error BitcodeReader::parseTypeTableBody() {
23852385
case bitc::TYPE_CODE_OPAQUE_POINTER: { // OPAQUE_POINTER: [addrspace]
23862386
if (Record.size() != 1)
23872387
return error("Invalid opaque pointer record");
2388+
#ifndef INTEL_SYCL_OPAQUEPOINTER_READY
23882389
if (LLVM_UNLIKELY(!Context.hasSetOpaquePointersValue())) {
23892390
Context.setOpaquePointers(true);
23902391
} else if (Context.supportsTypedPointers())
23912392
return error(
23922393
"Opaque pointers are only supported in -opaque-pointers mode");
2394+
#endif // INTEL_SYCL_OPAQUEPOINTER_READY
23932395
unsigned AddressSpace = Record[0];
23942396
ResultTy = PointerType::get(Context, AddressSpace);
23952397
break;

llvm/lib/Transforms/Utils/ModuleUtils.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,10 +393,15 @@ bool llvm::lowerGlobalIFuncUsersAsGlobalCtor(
393393
LLVMContext &Ctx = M.getContext();
394394
const DataLayout &DL = M.getDataLayout();
395395

396+
#ifdef INTEL_SYCL_OPAQUEPOINTER_READY
396397
PointerType *TableEntryTy =
397-
Ctx.supportsTypedPointers()
398-
? PointerType::get(Type::getInt8Ty(Ctx), DL.getProgramAddressSpace())
399-
: PointerType::get(Ctx, DL.getProgramAddressSpace());
398+
PointerType::get(Ctx, DL.getProgramAddressSpace());
399+
#else // INTEL_SYCL_OPAQUEPOINTER_READY
400+
PointerType *TableEntryTy =
401+
Ctx.supportsTypedPointers()
402+
? PointerType::get(Type::getInt8Ty(Ctx), DL.getProgramAddressSpace())
403+
: PointerType::get(Ctx, DL.getProgramAddressSpace());
404+
#endif // INTEL_SYCL_OPAQUEPOINTER_READY
400405

401406
ArrayType *FuncPtrTableTy =
402407
ArrayType::get(TableEntryTy, IFuncsToLower.size());
@@ -466,9 +471,13 @@ bool llvm::lowerGlobalIFuncUsersAsGlobalCtor(
466471

467472
InitBuilder.CreateRetVoid();
468473

474+
#ifdef INTEL_SYCL_OPAQUEPOINTER_READY
475+
PointerType *ConstantDataTy = PointerType::get(Ctx, 0);
476+
#else // INTEL_SYCL_OPAQUEPOINTER_READY
469477
PointerType *ConstantDataTy = Ctx.supportsTypedPointers()
470478
? PointerType::get(Type::getInt8Ty(Ctx), 0)
471479
: PointerType::get(Ctx, 0);
480+
#endif // INTEL_SYCL_OPAQUEPOINTER_READY
472481

473482
// TODO: Is this the right priority? Probably should be before any other
474483
// constructors?

llvm/tools/llvm-nm/llvm-nm.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2267,11 +2267,7 @@ static std::vector<NMSymbol> dumpSymbolNamesFromFile(StringRef Filename) {
22672267
if (error(BufferOrErr.getError(), Filename))
22682268
return SymbolList;
22692269

2270-
// Always enable opaque pointers, to handle archives with mixed typed and
2271-
// opaque pointer bitcode files gracefully. As we're only reading symbols,
2272-
// the used pointer types don't matter.
22732270
LLVMContext Context;
2274-
Context.setOpaquePointers(true);
22752271
LLVMContext *ContextPtr = NoLLVMBitcode ? nullptr : &Context;
22762272
Expected<std::unique_ptr<Binary>> BinaryOrErr =
22772273
createBinary(BufferOrErr.get()->getMemBufferRef(), ContextPtr);

llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,7 @@ class BasicAATest : public testing::Test {
6666

6767
public:
6868
BasicAATest()
69-
: M("BasicAATest", C), B(C), DL(DLString), TLI(TLII), F(nullptr) {
70-
C.setOpaquePointers(true);
71-
}
69+
: M("BasicAATest", C), B(C), DL(DLString), TLI(TLII), F(nullptr) {}
7270
};
7371

7472
// Check that a function arg can't trivially alias a global when we're accessing

llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ static omp::ScheduleKind getSchedKind(omp::OMPScheduleType SchedType) {
162162
class OpenMPIRBuilderTest : public testing::Test {
163163
protected:
164164
void SetUp() override {
165-
Ctx.setOpaquePointers(true);
166165
M.reset(new Module("MyModule", Ctx));
167166
FunctionType *FTy =
168167
FunctionType::get(Type::getVoidTy(Ctx), {Type::getInt32Ty(Ctx)},

0 commit comments

Comments
 (0)