projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LLVM: Use the inbounds keyword for getelementptr instructions.
[ghc-hetmet.git]
/
compiler
/
llvmGen
/
LlvmCodeGen
/
CodeGen.hs
diff --git
a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
index
437570f
..
8259716
100644
(file)
--- a/
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
+++ b/
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
@@
-482,7
+482,7
@@
genStore_fast env addr r n val
True -> do
(env', vval, stmts, top) <- exprToVar env val
(gv, s1) <- doExpr grt $ Load gr
True -> do
(env', vval, stmts, top) <- exprToVar env val
(gv, s1) <- doExpr grt $ Load gr
- (ptr, s2) <- doExpr grt $ GetElemPtr gv [ix]
+ (ptr, s2) <- doExpr grt $ GetElemPtr True gv [ix]
-- We might need a different pointer type, so check
case pLower grt == getVarType vval of
-- were fine
-- We might need a different pointer type, so check
case pLower grt == getVarType vval of
-- were fine
@@
-722,7
+722,7
@@
genMachOp_fast env opt op r n e
in case isPointer grt && rem == 0 of
True -> do
(gv, s1) <- doExpr grt $ Load gr
in case isPointer grt && rem == 0 of
True -> do
(gv, s1) <- doExpr grt $ Load gr
- (ptr, s2) <- doExpr grt $ GetElemPtr gv [ix]
+ (ptr, s2) <- doExpr grt $ GetElemPtr True gv [ix]
(var, s3) <- doExpr llvmWord $ Cast LM_Ptrtoint ptr llvmWord
return (env, var, unitOL s1 `snocOL` s2 `snocOL` s3, [])
(var, s3) <- doExpr llvmWord $ Cast LM_Ptrtoint ptr llvmWord
return (env, var, unitOL s1 `snocOL` s2 `snocOL` s3, [])
@@
-920,7
+920,7
@@
genLoad_fast env e r n ty =
in case isPointer grt && rem == 0 of
True -> do
(gv, s1) <- doExpr grt $ Load gr
in case isPointer grt && rem == 0 of
True -> do
(gv, s1) <- doExpr grt $ Load gr
- (ptr, s2) <- doExpr grt $ GetElemPtr gv [ix]
+ (ptr, s2) <- doExpr grt $ GetElemPtr True gv [ix]
-- We might need a different pointer type, so check
case grt == ty' of
-- were fine
-- We might need a different pointer type, so check
case grt == ty' of
-- were fine