diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp --- a/llvm/lib/MC/MCParser/AsmParser.cpp +++ b/llvm/lib/MC/MCParser/AsmParser.cpp @@ -358,7 +358,6 @@ enum class AssignmentKind { Set, Equiv, - Equal, LTOSetConditional, }; @@ -1975,7 +1974,7 @@ // identifier '=' ... -> assignment statement Lex(); - return parseAssignment(IDVal, AssignmentKind::Equal); + return parseAssignment(IDVal, AssignmentKind::Set); default: // Normal instruction or directive. break; @@ -2938,8 +2937,7 @@ MCSymbol *Sym; const MCExpr *Value; SMLoc ExprLoc = getTok().getLoc(); - bool AllowRedef = - Kind == AssignmentKind::Set || Kind == AssignmentKind::Equal; + bool AllowRedef = Kind == AssignmentKind::Set; if (MCParserUtils::parseAssignmentExpression(Name, AllowRedef, *this, Sym, Value)) return true; @@ -2956,13 +2954,9 @@ // Do the assignment. switch (Kind) { - case AssignmentKind::Equal: - Out.emitAssignment(Sym, Value); - break; case AssignmentKind::Set: case AssignmentKind::Equiv: Out.emitAssignment(Sym, Value); - Out.emitSymbolAttribute(Sym, MCSA_NoDeadStrip); break; case AssignmentKind::LTOSetConditional: if (Value->getKind() != MCExpr::SymbolRef) diff --git a/llvm/test/MC/MachO/absolute.s b/llvm/test/MC/MachO/absolute.s --- a/llvm/test/MC/MachO/absolute.s +++ b/llvm/test/MC/MachO/absolute.s @@ -79,9 +79,8 @@ // CHECK: Type: Section (0xE) // CHECK: Section: __text (0x1) // CHECK: RefType: UndefinedNonLazy (0x0) -// CHECK: Flags [ (0x220) +// CHECK: Flags [ (0x200) // CHECK: AltEntry (0x200) -// CHECK: NoDeadStrip (0x20) // CHECK: ] // CHECK: Value: 0xFFFF0001 // CHECK: } @@ -90,8 +89,7 @@ // CHECK: Type: Abs (0x2) // CHECK: Section: (0x0) // CHECK: RefType: UndefinedNonLazy (0x0) -// CHECK: Flags [ (0x20) -// CHECK: NoDeadStrip (0x20) +// CHECK: Flags [ (0x0) // CHECK: ] // CHECK: Value: 0xFFFF0001 // CHECK: } @@ -120,9 +118,8 @@ // CHECK: Type: Section (0xE) // CHECK: Section: __text (0x1) // CHECK: RefType: UndefinedNonLazy (0x0) -// CHECK: Flags [ (0x220) -// CHECK: AltEntry (0x200) -// CHECK: NoDeadStrip (0x20) +// CHECK: Flags [ (0x200) +// CHECK: AltEntry (0x200) // CHECK: ] // CHECK: Value: 0xFFFF0001 // CHECK: } @@ -132,8 +129,7 @@ // CHECK: Type: Abs (0x2) // CHECK: Section: (0x0) // CHECK: RefType: UndefinedNonLazy (0x0) -// CHECK: Flags [ (0x20) -// CHECK: NoDeadStrip (0x20) +// CHECK: Flags [ (0x0) // CHECK: ] // CHECK: Value: 0xFFFF0001 // CHECK: } diff --git a/llvm/test/MC/WebAssembly/weak-alias.s b/llvm/test/MC/WebAssembly/weak-alias.s --- a/llvm/test/MC/WebAssembly/weak-alias.s +++ b/llvm/test/MC/WebAssembly/weak-alias.s @@ -193,7 +193,7 @@ # CHECK-NEXT: - Index: 3 # CHECK-NEXT: Kind: FUNCTION # CHECK-NEXT: Name: foo_alias -# CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN, NO_STRIP ] +# CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ] # CHECK-NEXT: Function: 0 # CHECK-NEXT: - Index: 4 # CHECK-NEXT: Kind: FUNCTION @@ -226,7 +226,7 @@ # CHECK-NEXT: - Index: 9 # CHECK-NEXT: Kind: DATA # CHECK-NEXT: Name: bar_alias -# CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN, NO_STRIP ] +# CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ] # CHECK-NEXT: Segment: 0 # CHECK-NEXT: Size: 4 # CHECK-NEXT: SegmentInfo: @@ -366,7 +366,7 @@ # REF-NEXT: - Index: 3 # REF-NEXT: Kind: FUNCTION # REF-NEXT: Name: foo_alias -# REF-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN, NO_STRIP ] +# REF-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ] # REF-NEXT: Function: 0 # REF-NEXT: - Index: 4 # REF-NEXT: Kind: FUNCTION @@ -404,7 +404,7 @@ # REF-NEXT: - Index: 10 # REF-NEXT: Kind: DATA # REF-NEXT: Name: bar_alias -# REF-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN, NO_STRIP ] +# REF-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ] # REF-NEXT: Segment: 0 # REF-NEXT: Size: 4 # REF-NEXT: SegmentInfo: