transform: optimize range over []byte(string)

Fixes #2700
This commit is contained in:
Elias Naur
2024-10-14 18:59:07 +02:00
committed by Ayke
parent 45cc5b58cd
commit 539cc5c47b
3 changed files with 19 additions and 3 deletions
+5
View File
@@ -5,6 +5,8 @@ target triple = "x86_64--linux"
declare { ptr, i64, i64 } @runtime.stringToBytes(ptr, i64)
declare void @printByte(i8)
declare void @printSlice(ptr nocapture readonly, i64, i64)
declare void @writeToSlice(ptr nocapture, i64, i64)
@@ -12,6 +14,9 @@ declare void @writeToSlice(ptr nocapture, i64, i64)
define void @testReadOnly() {
entry:
call fastcc void @printSlice(ptr @str, i64 6, i64 6)
%0 = getelementptr inbounds i8, ptr @str, i64 0
%1 = load i8, ptr %0, align 1
call fastcc void @printByte(i8 %1)
ret void
}