mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-28 14:32:51 +01:00
9e1ba62c63
The combination of inline asm, stack realignment, and dynamic allocas turns out to be too common to reject out of hand. ASan inserts empy inline asm fragments and uses aligned allocas. Compiling any trivial function containing a dynamic alloca with ASan is enough to trigger the check. XFAIL the test cases that would be miscompiled and add one that uses the relevant functionality. llvm-svn: 196986
17 lines
561 B
LLVM
17 lines
561 B
LLVM
; RUN: not llc -mtriple=i686-pc-win32 < %s 2>&1 | FileCheck %s
|
|
|
|
; FIXME: This is miscompiled due to our unconditional use of ESI as the base
|
|
; pointer.
|
|
; XFAIL:
|
|
|
|
; CHECK: Stack realignment in presence of dynamic stack adjustments is not supported with inline assembly
|
|
|
|
define i32 @foo() {
|
|
entry:
|
|
%r = alloca i32, align 16
|
|
store i32 -1, i32* %r, align 16
|
|
call void asm sideeffect "push %esi\0A\09xor %esi, %esi\0A\09mov %esi, $0\0A\09pop %esi", "=*m,~{flags},~{esi},~{esp},~{dirflag},~{fpsr},~{flags}"(i32* %r)
|
|
%0 = load i32* %r, align 16
|
|
ret i32 %0
|
|
}
|