Home
last modified time | relevance | path

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

123456

/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()
54 void InlineAsm::destroyConstant() { in destroyConstant()
59 FunctionType *InlineAsm::getFunctionType() const { in getFunctionType()
63 void InlineAsm::collectAsmStrs(SmallVectorImpl<StringRef> &AsmStrs) const { in collectAsmStrs()
79 bool InlineAsm::ConstraintInfo::Parse(StringRef Str, in Parse()
80 InlineAsm::ConstraintInfoVector &ConstraintsSoFar) { in Parse()
178 InlineAsm::SubConstraintInfo &scInfo = in Parse()
225 void InlineAsm::ConstraintInfo::selectAlternative(unsigned index) { in selectAlternative()
228 InlineAsm::SubConstraintInfo &scInfo = in selectAlternative()
[all …]
H A DConstantsContext.h274 template <> struct ConstantInfo<InlineAsm> {
341 InlineAsm::AsmDialect AsmDialect;
346 InlineAsm::AsmDialect AsmDialect, bool canThrow)
351 InlineAsmKeyType(const InlineAsm *Asm, SmallVectorImpl<Constant *> &)
364 bool operator==(const InlineAsm *Asm) const {
378 using TypeClass = ConstantInfo<InlineAsm>::TypeClass;
380 InlineAsm *create(TypeClass *Ty) const {
382 return new InlineAsm(FTy, std::string(AsmString), std::string(Constraints),
686 template <> inline void ConstantUniqueMap<InlineAsm>::freeConstants() {
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInlineAsm.h35 class InlineAsm final : public Value {
44 friend class ConstantUniqueMap<InlineAsm>;
53 InlineAsm(FunctionType *Ty, const std::string &AsmString,
62 InlineAsm(const InlineAsm &) = delete;
63 InlineAsm &operator=(const InlineAsm &) = delete;
67 LLVM_ABI static InlineAsm *get(FunctionType *Ty, StringRef AsmString,
448 if (ExtraInfo & InlineAsm::Extra_HasSideEffects) in getExtraInfoNames()
450 if (ExtraInfo & InlineAsm::Extra_MayLoad) in getExtraInfoNames()
452 if (ExtraInfo & InlineAsm::Extra_MayStore) in getExtraInfoNames()
454 if (ExtraInfo & InlineAsm::Extra_IsConvergent) in getExtraInfoNames()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Sparc/
H A DSparcISelDAGToDAG.cpp56 InlineAsm::ConstraintCode ConstraintID,
169 InlineAsm::Flag Flag; in tryInlineAsm()
190 if (i < InlineAsm::Op_FirstOperand) in tryInlineAsm()
194 Flag = InlineAsm::Flag(C->getZExtValue()); in tryInlineAsm()
265 SDValue Chain = AsmNodeOperands[InlineAsm::Op_InputChain]; in tryInlineAsm()
291 AsmNodeOperands[InlineAsm::Op_InputChain] = Chain; in tryInlineAsm()
299 Flag = InlineAsm::Flag(Flag.getKind(), 1 /* RegNum*/); in tryInlineAsm()
383 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
388 case InlineAsm::ConstraintCode::o: in SelectInlineAsmMemoryOperand()
389 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()
369 for (unsigned I = InlineAsm::MIOp_FirstOperand, NumOps = MI->getNumOperands(); in emitInlineAsm()
374 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/NVPTX/
H A DNVPTXAliasAnalysis.cpp128 if (const auto *IA = dyn_cast<InlineAsm>(Call->getCalledOperand())) { in getMemoryEffects()
133 for (const InlineAsm::ConstraintInfo &Constraint : IA->ParseConstraints()) { in getMemoryEffects()
139 if ((Constraint.Type & InlineAsm::ConstraintPrefix::isClobber) && in getMemoryEffects()
H A DNVPTXLowerUnreachable.cpp141 InlineAsm *Exit = InlineAsm::get(ExitFTy, "exit;", "", true); in runOnFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DFunctionComparator.h37 class InlineAsm; variable
332 int cmpInlineAsm(const InlineAsm *L, const InlineAsm *R) const;
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsISelDAGToDAG.cpp273 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
279 case InlineAsm::ConstraintCode::m: in SelectInlineAsmMemoryOperand()
280 case InlineAsm::ConstraintCode::R: in SelectInlineAsmMemoryOperand()
281 case InlineAsm::ConstraintCode::ZC: in SelectInlineAsmMemoryOperand()
H A DMipsSERegisterInfo.cpp100 const InlineAsm::Flag F(MO.getImm()); in getLoadStoreOffsetSizeInBits()
102 case InlineAsm::ConstraintCode::ZC: { in getLoadStoreOffsetSizeInBits()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.h546 InlineAsm::ConstraintCode
553 return InlineAsm::ConstraintCode::o; in getInlineAsmMemConstraint()
555 return InlineAsm::ConstraintCode::Q; in getInlineAsmMemConstraint()
557 return InlineAsm::ConstraintCode::R; in getInlineAsmMemConstraint()
559 return InlineAsm::ConstraintCode::S; in getInlineAsmMemConstraint()
561 return InlineAsm::ConstraintCode::T; in getInlineAsmMemConstraint()
568 return InlineAsm::ConstraintCode::ZQ; in getInlineAsmMemConstraint()
570 return InlineAsm::ConstraintCode::ZR; in getInlineAsmMemConstraint()
572 return InlineAsm::ConstraintCode::ZS; in getInlineAsmMemConstraint()
574 return InlineAsm::ConstraintCode::ZT; in getInlineAsmMemConstraint()
H A DSystemZISelDAGToDAG.cpp380 InlineAsm::ConstraintCode ConstraintID,
1810 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
1819 case InlineAsm::ConstraintCode::i: in SelectInlineAsmMemoryOperand()
1820 case InlineAsm::ConstraintCode::Q: in SelectInlineAsmMemoryOperand()
1821 case InlineAsm::ConstraintCode::ZQ: in SelectInlineAsmMemoryOperand()
1826 case InlineAsm::ConstraintCode::R: in SelectInlineAsmMemoryOperand()
1827 case InlineAsm::ConstraintCode::ZR: in SelectInlineAsmMemoryOperand()
1832 case InlineAsm::ConstraintCode::S: in SelectInlineAsmMemoryOperand()
1833 case InlineAsm::ConstraintCode::ZS: in SelectInlineAsmMemoryOperand()
1838 case InlineAsm::ConstraintCode::T: in SelectInlineAsmMemoryOperand()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineInstr.cpp888 unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm(); in isStackAligningInlineAsm()
889 if (ExtraInfo & InlineAsm::Extra_IsAlignStack) in isStackAligningInlineAsm()
895 InlineAsm::AsmDialect MachineInstr::getInlineAsmDialect() const { in getInlineAsmDialect()
897 unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm(); in getInlineAsmDialect()
898 return InlineAsm::AsmDialect((ExtraInfo & InlineAsm::Extra_AsmDialect) != 0); in getInlineAsmDialect()
907 if (OpIdx < InlineAsm::MIOp_FirstOperand) in findInlineAsmFlagIdx()
912 for (unsigned i = InlineAsm::MIOp_FirstOperand, e = getNumOperands(); i < e; in findInlineAsmFlagIdx()
918 const InlineAsm::Flag F(FlagMO.getImm()); in findInlineAsmFlagIdx()
996 const InlineAsm::Flag F(getOperand(FlagIdx).getImm()); in getRegClassConstraint()
1262 for (unsigned i = InlineAsm::MIOp_FirstOperand, e = getNumOperands(); i < e; in findTiedOperandIdx()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Object/
H A DModuleSymbolTable.cpp75 StringRef InlineAsm = M.getModuleInlineAsm(); in initializeRecordStreamer() local
76 if (InlineAsm.empty()) in initializeRecordStreamer()
103 MemoryBuffer::getMemBuffer(InlineAsm, "<inline asm>")); in initializeRecordStreamer()
131 Parser->setAssemblerDialect(InlineAsm::AD_ATT); in initializeRecordStreamer()
/freebsd/contrib/llvm-project/llvm/lib/Target/VE/
H A DVEISelDAGToDAG.cpp55 InlineAsm::ConstraintCode ConstraintID,
305 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
311 case InlineAsm::ConstraintCode::o: in SelectInlineAsmMemoryOperand()
312 case InlineAsm::ConstraintCode::m: // memory in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86AsmPrinter.cpp339 const bool IsATT = MI->getInlineAsmDialect() == InlineAsm::AD_ATT; in PrintOperand()
358 case InlineAsm::AD_ATT: in PrintOperand()
361 case InlineAsm::AD_Intel: in PrintOperand()
384 if (MI->getInlineAsmDialect() == InlineAsm::AD_ATT) in PrintModifiedOperand()
658 bool EmitPercent = MO.getParent()->getInlineAsmDialect() == InlineAsm::AD_ATT; in printAsmMRegister()
702 bool EmitPercent = MO.getParent()->getInlineAsmDialect() == InlineAsm::AD_ATT; in printAsmVRegister()
860 if (MI->getInlineAsmDialect() == InlineAsm::AD_Intel) { in PrintAsmMemoryOperand()
870 if (MI->getInlineAsmDialect() == InlineAsm::AD_Intel) { in PrintAsmMemoryOperand()
878 if (MI->getInlineAsmDialect() == InlineAsm::AD_Intel) { in PrintAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.h560 InlineAsm::ConstraintCode
563 return InlineAsm::ConstraintCode::Q; in getInlineAsmMemConstraint()
570 return InlineAsm::ConstraintCode::Um; in getInlineAsmMemConstraint()
572 return InlineAsm::ConstraintCode::Un; in getInlineAsmMemConstraint()
574 return InlineAsm::ConstraintCode::Uq; in getInlineAsmMemConstraint()
576 return InlineAsm::ConstraintCode::Us; in getInlineAsmMemConstraint()
578 return InlineAsm::ConstraintCode::Ut; in getInlineAsmMemConstraint()
580 return InlineAsm::ConstraintCode::Uv; in getInlineAsmMemConstraint()
582 return InlineAsm::ConstraintCode::Uy; in getInlineAsmMemConstraint()
/freebsd/contrib/llvm-project/llvm/lib/Target/XCore/
H A DXCoreISelDAGToDAG.cpp67 InlineAsm::ConstraintCode ConstraintID,
120 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
125 case InlineAsm::ConstraintCode::m: // Memory. in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchISelDAGToDAG.cpp166 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
175 case InlineAsm::ConstraintCode::k: in SelectInlineAsmMemoryOperand()
180 case InlineAsm::ConstraintCode::m: in SelectInlineAsmMemoryOperand()
191 case InlineAsm::ConstraintCode::ZB: in SelectInlineAsmMemoryOperand()
194 case InlineAsm::ConstraintCode::ZC: in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/Xtensa/
H A DXtensaISelDAGToDAG.cpp44 InlineAsm::ConstraintCode ConstraintID,
227 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
232 case InlineAsm::ConstraintCode::m: { in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DInstrEmitter.cpp1332 SDValue AsmStrV = Node->getOperand(InlineAsm::Op_AsmString); in EmitSpecialNode()
1339 cast<ConstantSDNode>(Node->getOperand(InlineAsm::Op_ExtraInfo))-> in EmitSpecialNode()
1350 for (unsigned i = InlineAsm::Op_FirstOperand; i != NumOps;) { in EmitSpecialNode()
1352 const InlineAsm::Flag F(Flags); in EmitSpecialNode()
1360 case InlineAsm::Kind::RegDef: in EmitSpecialNode()
1369 case InlineAsm::Kind::RegDefEarlyClobber: in EmitSpecialNode()
1370 case InlineAsm::Kind::Clobber: in EmitSpecialNode()
1378 case InlineAsm::Kind::RegUse: // Use of register. in EmitSpecialNode()
1379 case InlineAsm::Kind::Imm: // Immediate. in EmitSpecialNode()
1380 case InlineAsm::Kind::Mem: // Non-function addressing mode. in EmitSpecialNode()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/
H A DLanaiISelDAGToDAG.cpp48 InlineAsm::ConstraintCode ConstraintCode,
280 const SDValue &Op, InlineAsm::ConstraintCode ConstraintCode, in SelectInlineAsmMemoryOperand()
286 case InlineAsm::ConstraintCode::m: // memory in SelectInlineAsmMemoryOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyISelDAGToDAG.cpp65 InlineAsm::ConstraintCode ConstraintID,
320 const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, in SelectInlineAsmMemoryOperand()
323 case InlineAsm::ConstraintCode::m: in SelectInlineAsmMemoryOperand()

123456