Merge pull request #1232 from kinke/gep

Mark most GEPs `inbounds` and add additional param attributes
This commit is contained in:
David Nadlinger 2015-12-30 13:26:37 +01:00
commit e24eb34edb
11 changed files with 79 additions and 95 deletions

View file

@ -531,7 +531,7 @@ bool DtoLowerMagicIntrinsic(IRState *p, FuncDeclaration *fndecl, CallExp *e,
assert(bitmask == 31 || bitmask == 63);
// auto q = cast(size_t*)ptr + (bitnum >> (64bit ? 6 : 5));
LLValue *q = DtoBitCast(ptr, DtoSize_t()->getPointerTo());
q = DtoGEP1(q, p->ir->CreateLShr(bitnum, bitmask == 63 ? 6 : 5), "bitop.q");
q = DtoGEP1(q, p->ir->CreateLShr(bitnum, bitmask == 63 ? 6 : 5), true, "bitop.q");
// auto mask = 1 << (bitnum & bitmask);
LLValue *mask =