Skip to content

Commit 452052c

Browse files
committed
gep nuw was added in LLVM 19
1 parent 685bad0 commit 452052c

File tree

4 files changed

+26
-26
lines changed

4 files changed

+26
-26
lines changed

gen/llvmhelpers.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,7 +1861,7 @@ DLValue *DtoIndexAggregate(LLValue *src, AggregateDeclaration *ad,
18611861
if (!isFieldIdx) {
18621862
// apply byte-wise offset from object start
18631863
ptr = DtoGEP1(getI8Type(), ptr, off
1864-
#if LDC_LLVM_VER >= 2000
1864+
#if LDC_LLVM_VER >= 1900
18651865
, "", nullptr
18661866
, llvm::GEPNoWrapFlags::inBounds() | llvm::GEPNoWrapFlags::noUnsignedWrap()
18671867
#endif
@@ -1880,7 +1880,7 @@ DLValue *DtoIndexAggregate(LLValue *src, AggregateDeclaration *ad,
18801880
st = irTypeAggr->getLLType();
18811881
}
18821882
ptr = DtoGEP(st, ptr, 0, off
1883-
#if LDC_LLVM_VER >= 2000
1883+
#if LDC_LLVM_VER >= 1900
18841884
, "", nullptr
18851885
, llvm::GEPNoWrapFlags::inBounds() | llvm::GEPNoWrapFlags::noUnsignedWrap()
18861886
#endif

gen/toir.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,13 +1190,13 @@ class ToElemVisitor : public Visitor {
11901190
}
11911191
LLType *elt = DtoMemType(e1type->nextOf());
11921192
LLType *arrty = llvm::ArrayType::get(elt, e1type->isTypeSArray()->dim->isIntegerExp()->getInteger());
1193-
#if LDC_LLVM_VER >= 2000
1193+
#if LDC_LLVM_VER >= 1900
11941194
llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds();
11951195
if (e->indexIsInBounds)
11961196
nw |= llvm::GEPNoWrapFlags::noUnsignedWrap();
11971197
#endif
11981198
arrptr = DtoGEP(arrty, DtoLVal(l), DtoConstUint(0), DtoRVal(r)
1199-
#if LDC_LLVM_VER >= 2000
1199+
#if LDC_LLVM_VER >= 1900
12001200
, "", nullptr, nw
12011201
#endif
12021202
);
@@ -1293,13 +1293,13 @@ class ToElemVisitor : public Visitor {
12931293
}
12941294

12951295
// offset by lower
1296-
#if LDC_LLVM_VER >= 2000
1296+
#if LDC_LLVM_VER >= 1900
12971297
llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds();
12981298
if (!needCheckUpper && !needCheckLower)
12991299
nw |= llvm::GEPNoWrapFlags::noUnsignedWrap();
13001300
#endif
13011301
eptr = DtoGEP1(DtoMemType(etype->nextOf()), getBasePointer(), vlo, "lowerbound"
1302-
#if LDC_LLVM_VER >= 2000
1302+
#if LDC_LLVM_VER >= 1900
13031303
, nullptr, nw
13041304
#endif
13051305
);

gen/tollvm.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -358,13 +358,13 @@ namespace {
358358
llvm::GetElementPtrInst *DtoGEP(LLType *pointeeTy, LLValue *ptr,
359359
llvm::ArrayRef<LLValue *> indices,
360360
const char *name, llvm::BasicBlock *bb
361-
#if LDC_LLVM_VER >= 2000
361+
#if LDC_LLVM_VER >= 1900
362362
, llvm::GEPNoWrapFlags nw
363363
#endif
364364
) {
365365
auto gep = llvm::GetElementPtrInst::Create(pointeeTy, ptr, indices, name,
366366
bb ? bb : gIR->scopebb());
367-
#if LDC_LLVM_VER >= 2000
367+
#if LDC_LLVM_VER >= 1900
368368
gep->setNoWrapFlags(nw);
369369
#else
370370
gep->setIsInBounds(true);
@@ -375,67 +375,67 @@ llvm::GetElementPtrInst *DtoGEP(LLType *pointeeTy, LLValue *ptr,
375375

376376
LLValue *DtoGEP1(LLType *pointeeTy, LLValue *ptr, LLValue *i0, const char *name,
377377
llvm::BasicBlock *bb
378-
#if LDC_LLVM_VER >= 2000
378+
#if LDC_LLVM_VER >= 1900
379379
, llvm::GEPNoWrapFlags nw
380380
#endif
381381
) {
382382
return DtoGEP(pointeeTy, ptr, i0, name, bb
383-
#if LDC_LLVM_VER >= 2000
383+
#if LDC_LLVM_VER >= 1900
384384
, nw
385385
#endif
386386
);
387387
}
388388

389389
LLValue *DtoGEP(LLType *pointeeTy, LLValue *ptr, LLValue *i0, LLValue *i1,
390390
const char *name, llvm::BasicBlock *bb
391-
#if LDC_LLVM_VER >= 2000
391+
#if LDC_LLVM_VER >= 1900
392392
, llvm::GEPNoWrapFlags nw
393393
#endif
394394
) {
395395
LLValue *indices[] = {i0, i1};
396396
return DtoGEP(pointeeTy, ptr, indices, name, bb
397-
#if LDC_LLVM_VER >= 2000
397+
#if LDC_LLVM_VER >= 1900
398398
, nw
399399
#endif
400400
);
401401
}
402402

403403
LLValue *DtoGEP1(LLType *pointeeTy, LLValue *ptr, unsigned i0, const char *name,
404404
llvm::BasicBlock *bb
405-
#if LDC_LLVM_VER >= 2000
405+
#if LDC_LLVM_VER >= 1900
406406
, llvm::GEPNoWrapFlags nw
407407
#endif
408408
) {
409409
return DtoGEP(pointeeTy, ptr, DtoConstUint(i0), name, bb
410-
#if LDC_LLVM_VER >= 2000
410+
#if LDC_LLVM_VER >= 1900
411411
, nw
412412
#endif
413413
);
414414
}
415415

416416
LLValue *DtoGEP(LLType *pointeeTy, LLValue *ptr, unsigned i0, unsigned i1,
417417
const char *name, llvm::BasicBlock *bb
418-
#if LDC_LLVM_VER >= 2000
418+
#if LDC_LLVM_VER >= 1900
419419
, llvm::GEPNoWrapFlags nw
420420
#endif
421421
) {
422422
LLValue *indices[] = {DtoConstUint(i0), DtoConstUint(i1)};
423423
return DtoGEP(pointeeTy, ptr, indices, name, bb
424-
#if LDC_LLVM_VER >= 2000
424+
#if LDC_LLVM_VER >= 1900
425425
, nw
426426
#endif
427427
);
428428
}
429429

430430
LLConstant *DtoGEP(LLType *pointeeTy, LLConstant *ptr, unsigned i0,
431431
unsigned i1
432-
#if LDC_LLVM_VER >= 2000
432+
#if LDC_LLVM_VER >= 1900
433433
, llvm::GEPNoWrapFlags nw
434434
#endif
435435
) {
436436
LLValue *indices[] = {DtoConstUint(i0), DtoConstUint(i1)};
437437
return llvm::ConstantExpr::getGetElementPtr(pointeeTy, ptr, indices,
438-
#if LDC_LLVM_VER >= 2000
438+
#if LDC_LLVM_VER >= 1900
439439
nw
440440
#else
441441
/* InBounds = */ true
@@ -445,12 +445,12 @@ LLConstant *DtoGEP(LLType *pointeeTy, LLConstant *ptr, unsigned i0,
445445

446446
LLValue *DtoGEP1i64(LLType *pointeeTy, LLValue *ptr, uint64_t i0, const char *name,
447447
llvm::BasicBlock *bb
448-
#if LDC_LLVM_VER >= 2000
448+
#if LDC_LLVM_VER >= 1900
449449
, llvm::GEPNoWrapFlags nw
450450
#endif
451451
) {
452452
return DtoGEP(pointeeTy, ptr, DtoConstUlong(i0), name, bb
453-
#if LDC_LLVM_VER >= 2000
453+
#if LDC_LLVM_VER >= 1900
454454
, nw
455455
#endif
456456
);

gen/tollvm.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,39 +78,39 @@ LLStructType *DtoModuleReferenceType();
7878
// getelementptr helpers
7979
LLValue *DtoGEP1(LLType *pointeeTy, LLValue *ptr, LLValue *i0,
8080
const char *name = "", llvm::BasicBlock *bb = nullptr
81-
#if LDC_LLVM_VER >= 2000
81+
#if LDC_LLVM_VER >= 1900
8282
, llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds()
8383
#endif
8484
);
8585
LLValue *DtoGEP(LLType *pointeeTy, LLValue *ptr, LLValue *i0, LLValue *i1,
8686
const char *name = "", llvm::BasicBlock *bb = nullptr
87-
#if LDC_LLVM_VER >= 2000
87+
#if LDC_LLVM_VER >= 1900
8888
, llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds()
8989
#endif
9090
);
9191

9292
LLValue *DtoGEP1(LLType *pointeeTy, LLValue *ptr, unsigned i0,
9393
const char *name = "", llvm::BasicBlock *bb = nullptr
94-
#if LDC_LLVM_VER >= 2000
94+
#if LDC_LLVM_VER >= 1900
9595
, llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds()
9696
#endif
9797
);
9898
LLValue *DtoGEP(LLType *pointeeTy, LLValue *ptr, unsigned i0, unsigned i1,
9999
const char *name = "", llvm::BasicBlock *bb = nullptr
100-
#if LDC_LLVM_VER >= 2000
100+
#if LDC_LLVM_VER >= 1900
101101
, llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds()
102102
#endif
103103
);
104104
LLConstant *DtoGEP(LLType *pointeeTy, LLConstant *ptr, unsigned i0,
105105
unsigned i1
106-
#if LDC_LLVM_VER >= 2000
106+
#if LDC_LLVM_VER >= 1900
107107
, llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds()
108108
#endif
109109
);
110110

111111
LLValue *DtoGEP1i64(LLType *pointeeTy, LLValue *ptr, uint64_t i0,
112112
const char *name = "", llvm::BasicBlock *bb = nullptr
113-
#if LDC_LLVM_VER >= 2000
113+
#if LDC_LLVM_VER >= 1900
114114
, llvm::GEPNoWrapFlags nw = llvm::GEPNoWrapFlags::inBounds()
115115
#endif
116116
);

0 commit comments

Comments
 (0)