(Connect InlineAsm Memory Operand with its real value not just name) Revert 2 history bugfix patch: Revert "[X86][MS-InlineAsm] Make the constraint *m to be simple place holder" This patch revert https://reviews.llvm.org/D115225 which mainly fix problems intrduced by https://reviews.llvm.org/D113096 This reverts commit d7c07f60b35f901f5bd9153b11807124a9bdde60. Revert "Reland "[X86][MS-InlineAsm] Use exact conditions to recognize MS global variables"" This patch revert https://reviews.llvm.org/D116090 which fix problem intrduced by https://reviews.llvm.org/D115225 This reverts commit 24c68ea1eb4fc0d0e782424ddb02da9e8c53ddf5. Reviewed By: skan Differential Revision: https://reviews.llvm.org/D120886
11 lines
482 B
C
11 lines
482 B
C
// REQUIRES: x86-registered-target
|
|
// Check the constraint "*m" of operand arr and the definition of arr is not removed by FE
|
|
// RUN: %clang_cc1 %s -fasm-blocks -triple i386-apple-darwin10 -emit-llvm -o - | FileCheck %s
|
|
|
|
static int arr[10];
|
|
void t1(void) {
|
|
// CHECK: @arr = internal global [10 x i32]
|
|
// CHECK: call void asm sideeffect inteldialect "mov dword ptr $0[edx * $$4],edx", "=*m,{{.*}}([10 x i32]* elementtype([10 x i32]) @arr)
|
|
__asm mov dword ptr arr[edx*4],edx
|
|
}
|