Home
last modified time | relevance | path

Searched refs:InlineAsm (Results 1 – 25 of 124) sorted by relevance

12345

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInlineAsm.h1 //===- llvm/InlineAsm.h - Class to represent inline asm strings -*- C++ -*-===//
10 // used as the callee operand of call instructions. InlineAsm's are uniqued
11 // like constants, and created via InlineAsm::get(...).
34 class InlineAsm final : public Value {
43 friend class ConstantUniqueMap<InlineAsm>;
52 InlineAsm(FunctionType *Ty, const std::string &AsmString,
61 InlineAsm(const InlineAsm &) = delete;
62 InlineAsm &operator=(const InlineAsm
[all...]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DInlineAsmLowering.cpp48 const InlineAsm *IA = cast<InlineAsm>(CB.getCalledOperand()); in ExtraFlags()
50 Flags |= InlineAsm::Extra_HasSideEffects; in ExtraFlags()
52 Flags |= InlineAsm::Extra_IsAlignStack; in ExtraFlags()
54 Flags |= InlineAsm::Extra_IsConvergent; in ExtraFlags()
55 Flags |= IA->getDialect() * InlineAsm::Extra_AsmDialect; in ExtraFlags()
65 if (OpInfo.Type == InlineAsm::isInput) in update()
66 Flags |= InlineAsm::Extra_MayLoad; in update()
67 else if (OpInfo.Type == InlineAsm::isOutput) in update()
68 Flags |= InlineAsm::Extra_MayStore; in update()
69 else if (OpInfo.Type == InlineAsm::isClobber) in update()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInlineAsm.cpp30 InlineAsm::InlineAsm(FunctionType *FTy, const std::string &asmString, in InlineAsm() function in InlineAsm
43 InlineAsm *InlineAsm::get(FunctionType *FTy, StringRef AsmString, in get()
53 void InlineAsm::destroyConstant() { in destroyConstant()
58 FunctionType *InlineAsm::getFunctionType() const { in getFunctionType()
62 void InlineAsm::collectAsmStrs(SmallVectorImpl<StringRef> &AsmStrs) const { in collectAsmStrs()
78 bool InlineAsm::ConstraintInfo::Parse(StringRef Str, in Parse()
79 InlineAsm::ConstraintInfoVector &ConstraintsSoFar) { in Parse()
177 InlineAsm::SubConstraintInfo &scInfo = in Parse()
224 void InlineAsm::ConstraintInfo::selectAlternative(unsigned index) { in selectAlternative()
227 InlineAsm::SubConstraintInfo &scInfo = in selectAlternative()
[all …]
H A DConstantsContext.h263 template <> struct ConstantInfo<InlineAsm> {
330 InlineAsm::AsmDialect AsmDialect;
335 InlineAsm::AsmDialect AsmDialect, bool canThrow)
340 InlineAsmKeyType(const InlineAsm *Asm, SmallVectorImpl<Constant *> &)
353 bool operator==(const InlineAsm *Asm) const {
367 using TypeClass = ConstantInfo<InlineAsm>::TypeClass;
369 InlineAsm *create(TypeClass *Ty) const {
371 return new InlineAsm(FTy, std::string(AsmString), std::string(Constraints),
680 template <> inline void ConstantUniqueMap<InlineAsm>::freeConstants() {
/freebsd/contrib/llvm-project/llvm/lib/Target/Sparc/
H A DSparcISelDAGToDAG.cpp58 InlineAsm::ConstraintCode ConstraintID,
171 InlineAsm::Flag Flag; in tryInlineAsm()
192 if (i < InlineAsm::Op_FirstOperand) in tryInlineAsm()
196 Flag = InlineAsm::Flag(C->getZExtValue()); in tryInlineAsm()
267 SDValue Chain = AsmNodeOperands[InlineAsm::Op_InputChain]; in tryInlineAsm()
293 AsmNodeOperands[InlineAsm::Op_InputChain] = Chain; in tryInlineAsm()
301 Flag = InlineAsm::Flag(Flag.getKind(), 1 /* RegNum*/); in tryInlineAsm()
385 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
390 case InlineAsm::ConstraintCode::o: in SelectInlineAsmMemoryOperand()
391 case InlineAsm::ConstraintCode::m: // memory in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/
H A DAsmPrinterInlineAsm.cpp74 InlineAsm::AsmDialect Dialect) const { in emitInlineAsm()
122 if (Dialect == InlineAsm::AD_Intel) in emitInlineAsm()
138 bool InputIsIntelDialect = MI->getInlineAsmDialect() == InlineAsm::AD_Intel; in EmitInlineAsmStr()
274 unsigned OpNo = InlineAsm::MIOp_FirstOperand; in EmitInlineAsmStr()
282 const InlineAsm::Flag F(MI->getOperand(OpNo).getImm()); in EmitInlineAsmStr()
292 const InlineAsm::Flag F(MI->getOperand(OpNo).getImm()); in EmitInlineAsmStr()
378 for (unsigned I = InlineAsm::MIOp_FirstOperand, NumOps = MI->getNumOperands(); in emitInlineAsm()
383 const InlineAsm::Flag F(MO.getImm()); in emitInlineAsm()
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYISelDAGToDAG.cpp50 InlineAsm::ConstraintCode ConstraintID,
127 InlineAsm::Flag Flag; in selectInlineAsm()
147 if (i < InlineAsm::Op_FirstOperand) in selectInlineAsm()
151 Flag = InlineAsm::Flag(C->getZExtValue()); in selectInlineAsm()
233 SDValue Chain = AsmNodeOperands[InlineAsm::Op_InputChain]; in selectInlineAsm()
248 AsmNodeOperands[InlineAsm::Op_InputChain] = Chain; in selectInlineAsm()
257 Flag = InlineAsm::Flag(Flag.getKind(), 1 /* RegNum*/); in selectInlineAsm()
394 const SDValue &Op, const InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
397 case InlineAsm::ConstraintCode::m: in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.h525 InlineAsm::ConstraintCode
532 return InlineAsm::ConstraintCode::o; in getInlineAsmMemConstraint()
534 return InlineAsm::ConstraintCode::Q; in getInlineAsmMemConstraint()
536 return InlineAsm::ConstraintCode::R; in getInlineAsmMemConstraint()
538 return InlineAsm::ConstraintCode::S; in getInlineAsmMemConstraint()
540 return InlineAsm::ConstraintCode::T; in getInlineAsmMemConstraint()
547 return InlineAsm::ConstraintCode::ZQ; in getInlineAsmMemConstraint()
549 return InlineAsm::ConstraintCode::ZR; in getInlineAsmMemConstraint()
551 return InlineAsm::ConstraintCode::ZS; in getInlineAsmMemConstraint()
553 return InlineAsm::ConstraintCode::ZT; in getInlineAsmMemConstraint()
H A DSystemZISelDAGToDAG.cpp380 InlineAsm::ConstraintCode ConstraintID,
1799 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
1808 case InlineAsm::ConstraintCode::i: in SelectInlineAsmMemoryOperand()
1809 case InlineAsm::ConstraintCode::Q: in SelectInlineAsmMemoryOperand()
1810 case InlineAsm::ConstraintCode::ZQ: in SelectInlineAsmMemoryOperand()
1815 case InlineAsm::ConstraintCode::R: in SelectInlineAsmMemoryOperand()
1816 case InlineAsm::ConstraintCode::ZR: in SelectInlineAsmMemoryOperand()
1821 case InlineAsm::ConstraintCode::S: in SelectInlineAsmMemoryOperand()
1822 case InlineAsm::ConstraintCode::ZS: in SelectInlineAsmMemoryOperand()
1827 case InlineAsm::ConstraintCode::T: in SelectInlineAsmMemoryOperand()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DFunctionComparator.h36 class InlineAsm; variable
233 /// Stage 2: InlineAsm instances are greater than others. If both left and
234 /// right are InlineAsm instances, InlineAsm* pointers casted to
328 int cmpInlineAsm(const InlineAsm *L, const InlineAsm *R) const;
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineInstr.cpp861 unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm(); in isStackAligningInlineAsm()
862 if (ExtraInfo & InlineAsm::Extra_IsAlignStack) in isStackAligningInlineAsm()
868 InlineAsm::AsmDialect MachineInstr::getInlineAsmDialect() const { in getInlineAsmDialect()
870 unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm(); in getInlineAsmDialect()
871 return InlineAsm::AsmDialect((ExtraInfo & InlineAsm::Extra_AsmDialect) != 0); in getInlineAsmDialect()
880 if (OpIdx < InlineAsm::MIOp_FirstOperand) in findInlineAsmFlagIdx()
885 for (unsigned i = InlineAsm::MIOp_FirstOperand, e = getNumOperands(); i < e; in findInlineAsmFlagIdx()
891 const InlineAsm::Flag F(FlagMO.getImm()); in findInlineAsmFlagIdx()
969 const InlineAsm::Flag F(getOperand(FlagIdx).getImm()); in getRegClassConstraint()
1235 for (unsigned i = InlineAsm::MIOp_FirstOperand, e = getNumOperands(); i < e; in findTiedOperandIdx()
[all …]
H A DTargetInstrInfo.cpp587 InlineAsm::Flag F(InlineAsm::Kind::Mem, NewOps.size()); in foldInlineAsmMemOperand()
588 F.setMemConstraint(InlineAsm::ConstraintCode::m); in foldInlineAsmMemOperand()
614 MachineOperand &ExtraMO = NewMI.getOperand(InlineAsm::MIOp_ExtraInfo); in foldInlineAsmMemOperand()
617 ExtraMO.setImm(ExtraMO.getImm() | InlineAsm::Extra_MayLoad); in foldInlineAsmMemOperand()
621 ExtraMO.setImm(ExtraMO.getImm() | InlineAsm::Extra_MayStore); in foldInlineAsmMemOperand()
1742 if (OpIdx == InlineAsm::MIOp_ExtraInfo) { in createMIROperandComment()
1746 for (StringRef Info : InlineAsm::getExtraInfoNames(ExtraInfo)) { in createMIROperandComment()
1763 const InlineAsm::Flag F(Flag); in createMIROperandComment()
1775 InlineAsm::ConstraintCode MCID = F.getMemoryConstraintID(); in createMIROperandComment()
1776 OS << ":" << InlineAsm::getMemConstraintName(MCID); in createMIROperandComment()
/freebsd/contrib/llvm-project/llvm/lib/Object/
H A DModuleSymbolTable.cpp77 StringRef InlineAsm = M.getModuleInlineAsm(); in initializeRecordStreamer() local
78 if (InlineAsm.empty()) in initializeRecordStreamer()
105 MemoryBuffer::getMemBuffer(InlineAsm, "<inline asm>")); in initializeRecordStreamer()
134 Parser->setAssemblerDialect(InlineAsm::AD_ATT); in initializeRecordStreamer()
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXLowerUnreachable.cpp138 InlineAsm *Exit = InlineAsm::get(ExitFTy, "exit;", "", true); in runOnFunction()
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsISelDAGToDAG.cpp318 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
324 case InlineAsm::ConstraintCode::m: in SelectInlineAsmMemoryOperand()
325 case InlineAsm::ConstraintCode::R: in SelectInlineAsmMemoryOperand()
326 case InlineAsm::ConstraintCode::ZC: in SelectInlineAsmMemoryOperand()
H A DMipsSERegisterInfo.cpp104 const InlineAsm::Flag F(MO.getImm()); in getLoadStoreOffsetSizeInBits()
106 case InlineAsm::ConstraintCode::ZC: { in getLoadStoreOffsetSizeInBits()
H A DMips16HardFloat.cpp53 InlineAsm *IA = InlineAsm::get(AsmFTy, AsmText, "", true, in emitInlineAsm()
54 /* IsAlignStack */ false, InlineAsm::AD_ATT); in emitInlineAsm()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86AsmPrinter.cpp296 const bool IsATT = MI->getInlineAsmDialect() == InlineAsm::AD_ATT; in PrintOperand()
315 case InlineAsm::AD_ATT: in PrintOperand()
318 case InlineAsm::AD_Intel: in PrintOperand()
341 if (MI->getInlineAsmDialect() == InlineAsm::AD_ATT) in PrintModifiedOperand()
617 bool EmitPercent = MO.getParent()->getInlineAsmDialect() == InlineAsm::AD_ATT; in printAsmMRegister()
661 bool EmitPercent = MO.getParent()->getInlineAsmDialect() == InlineAsm::AD_ATT; in printAsmVRegister()
819 if (MI->getInlineAsmDialect() == InlineAsm::AD_Intel) { in PrintAsmMemoryOperand()
829 if (MI->getInlineAsmDialect() == InlineAsm::AD_Intel) { in PrintAsmMemoryOperand()
837 if (MI->getInlineAsmDialect() == InlineAsm::AD_Intel) { in PrintAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchISelDAGToDAG.cpp149 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
158 case InlineAsm::ConstraintCode::k: in SelectInlineAsmMemoryOperand()
163 case InlineAsm::ConstraintCode::m: in SelectInlineAsmMemoryOperand()
174 case InlineAsm::ConstraintCode::ZB: in SelectInlineAsmMemoryOperand()
177 case InlineAsm::ConstraintCode::ZC: in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/VE/
H A DVEISelDAGToDAG.cpp59 InlineAsm::ConstraintCode ConstraintID,
310 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
316 case InlineAsm::ConstraintCode::o: in SelectInlineAsmMemoryOperand()
317 case InlineAsm::ConstraintCode::m: // memory in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.h544 InlineAsm::ConstraintCode
547 return InlineAsm::ConstraintCode::Q; in getInlineAsmMemConstraint()
554 return InlineAsm::ConstraintCode::Um; in getInlineAsmMemConstraint()
556 return InlineAsm::ConstraintCode::Un; in getInlineAsmMemConstraint()
558 return InlineAsm::ConstraintCode::Uq; in getInlineAsmMemConstraint()
560 return InlineAsm::ConstraintCode::Us; in getInlineAsmMemConstraint()
562 return InlineAsm::ConstraintCode::Ut; in getInlineAsmMemConstraint()
564 return InlineAsm::ConstraintCode::Uv; in getInlineAsmMemConstraint()
566 return InlineAsm::ConstraintCode::Uy; in getInlineAsmMemConstraint()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DInstrEmitter.cpp1331 SDValue AsmStrV = Node->getOperand(InlineAsm::Op_AsmString); in EmitSpecialNode()
1338 cast<ConstantSDNode>(Node->getOperand(InlineAsm::Op_ExtraInfo))-> in EmitSpecialNode()
1349 for (unsigned i = InlineAsm::Op_FirstOperand; i != NumOps;) { in EmitSpecialNode()
1351 const InlineAsm::Flag F(Flags); in EmitSpecialNode()
1359 case InlineAsm::Kind::RegDef: in EmitSpecialNode()
1368 case InlineAsm::Kind::RegDefEarlyClobber: in EmitSpecialNode()
1369 case InlineAsm::Kind::Clobber: in EmitSpecialNode()
1377 case InlineAsm::Kind::RegUse: // Use of register. in EmitSpecialNode()
1378 case InlineAsm::Kind::Imm: // Immediate. in EmitSpecialNode()
1379 case InlineAsm::Kind::Mem: // Non-function addressing mode. in EmitSpecialNode()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/XCore/
H A DXCoreISelDAGToDAG.cpp73 InlineAsm::ConstraintCode ConstraintID,
126 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
131 case InlineAsm::ConstraintCode::m: // Memory. in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/
H A DLanaiISelDAGToDAG.cpp57 InlineAsm::ConstraintCode ConstraintCode,
289 const SDValue &Op, InlineAsm::ConstraintCode ConstraintCode, in SelectInlineAsmMemoryOperand()
295 case InlineAsm::ConstraintCode::m: // memory in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyISelDAGToDAG.cpp66 InlineAsm::ConstraintCode ConstraintID,
318 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
321 case InlineAsm::ConstraintCode::m: in SelectInlineAsmMemoryOperand()

12345