mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-03-04 16:41:43 +00:00
[Clang FE, SystemZ] Don't add "true" value for the "mnop-mcount" attribute.
Let the "mnop-mcount" function attribute simply be present or non-present. Update SystemZ backend as well to use hasFnAttribute() instead. Review: Ulrich Weigand https://reviews.llvm.org/D71669
This commit is contained in:
parent
fc0731b98a
commit
ca520592c0
@ -966,7 +966,7 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
|
||||
if (!CGM.getCodeGenOpts().CallFEntry)
|
||||
CGM.getDiags().Report(diag::err_opt_not_valid_without_opt)
|
||||
<< "-mnop-mcount" << "-mfentry";
|
||||
Fn->addFnAttr("mnop-mcount", "true");
|
||||
Fn->addFnAttr("mnop-mcount");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,9 +17,9 @@ int __attribute__((no_instrument_function)) no_instrument(void) {
|
||||
return foo();
|
||||
}
|
||||
|
||||
//CHECK: attributes #0 = { {{.*}}"mnop-mcount"="true"{{.*}} }
|
||||
//CHECK: attributes #0 = { {{.*}}"mnop-mcount"{{.*}} }
|
||||
//CHECK: attributes #1 = { {{.*}} }
|
||||
//CHECK-NOT: attributes #1 = { {{.*}}"mnop-mcount"="true"{{.*}} }
|
||||
//CHECK-NOT: attributes #1 = { {{.*}}"mnop-mcount"{{.*}} }
|
||||
//NOMFENTRY: error: option '-mnop-mcount' cannot be specified without '-mfentry'
|
||||
//NOPG-NOT: attributes #0 = { {{.*}}"mnop-mcount"{{.*}} }
|
||||
//NOPG-NOT: attributes #1 = { {{.*}}"mnop-mcount"{{.*}} }
|
||||
|
@ -553,8 +553,7 @@ static unsigned EmitNop(MCContext &OutContext, MCStreamer &OutStreamer,
|
||||
void SystemZAsmPrinter::LowerFENTRY_CALL(const MachineInstr &MI,
|
||||
SystemZMCInstLower &Lower) {
|
||||
MCContext &Ctx = MF->getContext();
|
||||
if (MF->getFunction().getFnAttribute("mnop-mcount")
|
||||
.getValueAsString() == "true") {
|
||||
if (MF->getFunction().hasFnAttribute("mnop-mcount")) {
|
||||
EmitNop(Ctx, *OutStreamer, 6, getSubtargetInfo());
|
||||
return;
|
||||
}
|
||||
|
@ -347,7 +347,7 @@ public:
|
||||
|
||||
bool runOnMachineFunction(MachineFunction &MF) override {
|
||||
const Function &F = MF.getFunction();
|
||||
if (F.getFnAttribute("mnop-mcount").getValueAsString() == "true" &&
|
||||
if (F.hasFnAttribute("mnop-mcount") &&
|
||||
F.getFnAttribute("fentry-call").getValueAsString() != "true")
|
||||
report_fatal_error("mnop-mcount only supported with fentry-call");
|
||||
|
||||
|
@ -22,5 +22,5 @@ entry:
|
||||
}
|
||||
|
||||
attributes #0 = { "fentry-call"="true" }
|
||||
attributes #1 = { "fentry-call"="true" "mnop-mcount"="true" }
|
||||
attributes #1 = { "fentry-call"="true" "mnop-mcount" }
|
||||
|
||||
|
@ -7,5 +7,4 @@ entry:
|
||||
ret void
|
||||
}
|
||||
|
||||
attributes #0 = { "instrument-function-entry-inlined"="mcount" "mnop-mcount"="true" }
|
||||
|
||||
attributes #0 = { "instrument-function-entry-inlined"="mcount" "mnop-mcount" }
|
||||
|
Loading…
x
Reference in New Issue
Block a user