forked from OSchip/llvm-project
[ms-inline asm] Lookup the IdentifierInfo using the Idents table and remove the
now unused static helper function. The test case needs to be remove temporarily until I can better filter memory operands that aren't actual variable reference. llvm-svn: 165751
This commit is contained in:
parent
0c61134d8d
commit
e66f42634f
|
@ -353,19 +353,6 @@ static StringRef getMSInlineAsmExprName(StringRef Name) {
|
|||
return Name;
|
||||
}
|
||||
|
||||
// getIdentifierInfo - Given a Name and a range of tokens, find the associated
|
||||
// IdentifierInfo*.
|
||||
static IdentifierInfo *getIdentifierInfo(StringRef Name,
|
||||
ArrayRef<Token> AsmToks,
|
||||
unsigned Begin, unsigned End) {
|
||||
for (unsigned i = Begin; i <= End; ++i) {
|
||||
IdentifierInfo *II = AsmToks[i].getIdentifierInfo();
|
||||
if (II && II->getName() == Name)
|
||||
return II;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// getSpelling - Get the spelling of the AsmTok token.
|
||||
static StringRef getSpelling(Sema &SemaRef, Token AsmTok) {
|
||||
StringRef Asm;
|
||||
|
@ -624,10 +611,7 @@ StmtResult Sema::ActOnMSAsmStmt(SourceLocation AsmLoc, SourceLocation LBraceLoc,
|
|||
if (Context.getTargetInfo().isValidGCCRegisterName(Name))
|
||||
continue;
|
||||
|
||||
IdentifierInfo *II = getIdentifierInfo(Name, AsmToks,
|
||||
AsmTokRanges[StrIdx].first,
|
||||
AsmTokRanges[StrIdx].second);
|
||||
if (II) {
|
||||
if (IdentifierInfo *II = &Context.Idents.get(Name)) {
|
||||
CXXScopeSpec SS;
|
||||
UnqualifiedId Id;
|
||||
SourceLocation Loc;
|
||||
|
|
|
@ -167,12 +167,3 @@ unsigned t19(void) {
|
|||
// CHECK: t19
|
||||
// CHECK: call void asm sideeffect inteldialect "mov eax, $2\0A\09mov $0, eax\0A\09mov eax, $3\0A\09mov $1, eax", "=*m,=*m,*m,*m,~{eax},~{dirflag},~{fpsr},~{flags}"(i32* %{{.*}}, i32* %{{.*}}, i32* %{{.*}}, i32* %{{.*}}) nounwind
|
||||
}
|
||||
|
||||
void t20(void) {
|
||||
__asm {
|
||||
mov eax, fs:[0x10]
|
||||
mov eax, [eax]
|
||||
}
|
||||
// CHECK: t20
|
||||
// call void asm sideeffect inteldialect "mov eax, fs:[0x10]\0A\09mov eax, [eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue