xref: /llvm-project/mlir/lib/Tools/PDLL/ODS/Constraint.cpp (revision b3fc0fa84a09540d8fc7214899021acbf2fd6ff8)
1*b3fc0fa8SRiver Riddle //===- Constraint.cpp -----------------------------------------------------===//
2*b3fc0fa8SRiver Riddle //
3*b3fc0fa8SRiver Riddle // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*b3fc0fa8SRiver Riddle // See https://llvm.org/LICENSE.txt for license information.
5*b3fc0fa8SRiver Riddle // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*b3fc0fa8SRiver Riddle //
7*b3fc0fa8SRiver Riddle //===----------------------------------------------------------------------===//
8*b3fc0fa8SRiver Riddle 
9*b3fc0fa8SRiver Riddle #include "mlir/Tools/PDLL/ODS/Constraint.h"
10*b3fc0fa8SRiver Riddle 
11*b3fc0fa8SRiver Riddle using namespace mlir;
12*b3fc0fa8SRiver Riddle using namespace mlir::pdll::ods;
13*b3fc0fa8SRiver Riddle 
14*b3fc0fa8SRiver Riddle //===----------------------------------------------------------------------===//
15*b3fc0fa8SRiver Riddle // Constraint
16*b3fc0fa8SRiver Riddle //===----------------------------------------------------------------------===//
17*b3fc0fa8SRiver Riddle 
getDemangledName() const18*b3fc0fa8SRiver Riddle StringRef Constraint::getDemangledName() const {
19*b3fc0fa8SRiver Riddle   StringRef demangledName = name;
20*b3fc0fa8SRiver Riddle 
21*b3fc0fa8SRiver Riddle   // Drop the "anonymous" suffix if present.
22*b3fc0fa8SRiver Riddle   size_t anonymousSuffix = demangledName.find("(anonymous_");
23*b3fc0fa8SRiver Riddle   if (anonymousSuffix != StringRef::npos)
24*b3fc0fa8SRiver Riddle     demangledName = demangledName.take_front(anonymousSuffix);
25*b3fc0fa8SRiver Riddle   return demangledName;
26*b3fc0fa8SRiver Riddle }
27