-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[msan] Add 32-bit platforms support #109284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
a9bbb7e
8c8ca4a
d183648
58eb2ac
b832f46
2776315
fc61594
715df4b
94ba759
a069e4c
140f33d
7b7fddb
7fc981c
9fdb85e
1c3fcab
a2bd2ad
e4ebee1
83763f3
c15c29f
ef030a6
18b6d5e
1fe3a4e
f71ef90
95c8c2b
7c425cf
4ad58c8
3415aa5
c8ec352
9e108b0
92c419c
7b03354
fda60eb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 | ||
; RUN: opt < %s -S -passes=msan 2>&1 | FileCheck %s | ||
; RUN: opt < %s -S -passes=msan -msan-origin-base=0x40000000 -msan-and-mask=0x80000000 2>&1 | FileCheck %s | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we remove those and add proper consts into msan pass? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can, but this will require some research on where to put shadow and origin. Currently, I cannot say what their proper addresses will be. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Then I afraid if someone decide to fix them will forget to update tests. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Will do, thanks |
||
|
||
target datalayout = "E-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128" | ||
target triple = "mips64--linux" | ||
target triple = "arm--linux" | ||
|
||
define i32 @foo(i32 %guard, ...) { | ||
vitalybuka marked this conversation as resolved.
Show resolved
Hide resolved
|
||
; CHECK-LABEL: define i32 @foo( | ||
|
@@ -15,20 +15,20 @@ define i32 @foo(i32 %guard, ...) { | |
; CHECK-NEXT: call void @llvm.donothing() | ||
; CHECK-NEXT: [[VL:%.*]] = alloca ptr, align 8 | ||
; CHECK-NEXT: [[TMP5:%.*]] = ptrtoint ptr [[VL]] to i64 | ||
; CHECK-NEXT: [[TMP6:%.*]] = xor i64 [[TMP5]], 549755813888 | ||
; CHECK-NEXT: [[TMP6:%.*]] = and i64 [[TMP5]], -2147483649 | ||
; CHECK-NEXT: [[TMP7:%.*]] = inttoptr i64 [[TMP6]] to ptr | ||
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 8 [[TMP7]], i8 0, i64 8, i1 false) | ||
; CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 32, ptr [[VL]]) | ||
; CHECK-NEXT: [[TMP8:%.*]] = ptrtoint ptr [[VL]] to i64 | ||
; CHECK-NEXT: [[TMP9:%.*]] = xor i64 [[TMP8]], 549755813888 | ||
; CHECK-NEXT: [[TMP9:%.*]] = and i64 [[TMP8]], -2147483649 | ||
; CHECK-NEXT: [[TMP10:%.*]] = inttoptr i64 [[TMP9]] to ptr | ||
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 8 [[TMP10]], i8 0, i64 8, i1 false) | ||
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 8 [[TMP10]], i8 0, i64 4, i1 false) | ||
; CHECK-NEXT: call void @llvm.va_start.p0(ptr [[VL]]) | ||
; CHECK-NEXT: [[TMP11:%.*]] = ptrtoint ptr [[VL]] to i64 | ||
; CHECK-NEXT: [[TMP12:%.*]] = inttoptr i64 [[TMP11]] to ptr | ||
; CHECK-NEXT: [[TMP13:%.*]] = load ptr, ptr [[TMP12]], align 8 | ||
; CHECK-NEXT: [[TMP14:%.*]] = ptrtoint ptr [[TMP13]] to i64 | ||
; CHECK-NEXT: [[TMP15:%.*]] = xor i64 [[TMP14]], 549755813888 | ||
; CHECK-NEXT: [[TMP15:%.*]] = and i64 [[TMP14]], -2147483649 | ||
; CHECK-NEXT: [[TMP16:%.*]] = inttoptr i64 [[TMP15]] to ptr | ||
; CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 [[TMP16]], ptr align 8 [[TMP3]], i64 [[TMP2]], i1 false) | ||
; CHECK-NEXT: call void @llvm.va_end.p0(ptr [[VL]]) | ||
|
Uh oh!
There was an error while loading. Please reload this page.