Lines Matching refs:MCExpr

35 class MCExpr {
61 explicit MCExpr(ExprKind Kind, SMLoc Loc, unsigned SubclassData = 0)
75 MCExpr(const MCExpr &) = delete;
76 MCExpr &operator=(const MCExpr &) = delete;
138 inline raw_ostream &operator<<(raw_ostream &OS, const MCExpr &E) {
144 class MCConstantExpr : public MCExpr {
158 : MCExpr(MCExpr::Constant, SMLoc(), in MCConstantExpr()
182 static bool classof(const MCExpr *E) { in classof()
183 return E->getKind() == MCExpr::Constant; in classof()
192 class MCSymbolRefExpr : public MCExpr {
419 static bool classof(const MCExpr *E) { in classof()
420 return E->getKind() == MCExpr::SymbolRef; in classof()
425 class MCUnaryExpr : public MCExpr {
435 const MCExpr *Expr;
437 MCUnaryExpr(Opcode Op, const MCExpr *Expr, SMLoc Loc) in MCUnaryExpr()
438 : MCExpr(MCExpr::Unary, Loc, Op), Expr(Expr) {} in MCUnaryExpr()
444 static const MCUnaryExpr *create(Opcode Op, const MCExpr *Expr,
447 static const MCUnaryExpr *createLNot(const MCExpr *Expr, MCContext &Ctx, SMLoc Loc = SMLoc()) {
451 static const MCUnaryExpr *createMinus(const MCExpr *Expr, MCContext &Ctx, SMLoc Loc = SMLoc()) {
455 static const MCUnaryExpr *createNot(const MCExpr *Expr, MCContext &Ctx, SMLoc Loc = SMLoc()) {
459 static const MCUnaryExpr *createPlus(const MCExpr *Expr, MCContext &Ctx, SMLoc Loc = SMLoc()) {
471 const MCExpr *getSubExpr() const { return Expr; } in getSubExpr()
475 static bool classof(const MCExpr *E) { in classof()
476 return E->getKind() == MCExpr::Unary; in classof()
481 class MCBinaryExpr : public MCExpr {
510 const MCExpr *LHS, *RHS;
512 MCBinaryExpr(Opcode Op, const MCExpr *LHS, const MCExpr *RHS,
514 : MCExpr(MCExpr::Binary, Loc, Op), LHS(LHS), RHS(RHS) {} in MCExpr() function
520 static const MCBinaryExpr *create(Opcode Op, const MCExpr *LHS,
521 const MCExpr *RHS, MCContext &Ctx,
524 static const MCBinaryExpr *createAdd(const MCExpr *LHS, const MCExpr *RHS, in createAdd()
529 static const MCBinaryExpr *createAnd(const MCExpr *LHS, const MCExpr *RHS, in createAnd()
534 static const MCBinaryExpr *createDiv(const MCExpr *LHS, const MCExpr *RHS, in createDiv()
539 static const MCBinaryExpr *createEQ(const MCExpr *LHS, const MCExpr *RHS, in createEQ()
544 static const MCBinaryExpr *createGT(const MCExpr *LHS, const MCExpr *RHS, in createGT()
549 static const MCBinaryExpr *createGTE(const MCExpr *LHS, const MCExpr *RHS, in createGTE()
554 static const MCBinaryExpr *createLAnd(const MCExpr *LHS, const MCExpr *RHS, in createLAnd()
559 static const MCBinaryExpr *createLOr(const MCExpr *LHS, const MCExpr *RHS, in createLOr()
564 static const MCBinaryExpr *createLT(const MCExpr *LHS, const MCExpr *RHS, in createLT()
569 static const MCBinaryExpr *createLTE(const MCExpr *LHS, const MCExpr *RHS, in createLTE()
574 static const MCBinaryExpr *createMod(const MCExpr *LHS, const MCExpr *RHS, in createMod()
579 static const MCBinaryExpr *createMul(const MCExpr *LHS, const MCExpr *RHS, in createMul()
584 static const MCBinaryExpr *createNE(const MCExpr *LHS, const MCExpr *RHS, in createNE()
589 static const MCBinaryExpr *createOr(const MCExpr *LHS, const MCExpr *RHS, in createOr()
594 static const MCBinaryExpr *createShl(const MCExpr *LHS, const MCExpr *RHS, in createShl()
599 static const MCBinaryExpr *createAShr(const MCExpr *LHS, const MCExpr *RHS, in createAShr()
604 static const MCBinaryExpr *createLShr(const MCExpr *LHS, const MCExpr *RHS, in createLShr()
609 static const MCBinaryExpr *createSub(const MCExpr *LHS, const MCExpr *RHS, in createSub()
614 static const MCBinaryExpr *createXor(const MCExpr *LHS, const MCExpr *RHS, in createXor()
627 const MCExpr *getLHS() const { return LHS; } in getLHS()
630 const MCExpr *getRHS() const { return RHS; } in getRHS()
634 static bool classof(const MCExpr *E) { in classof()
635 return E->getKind() == MCExpr::Binary; in classof()
644 class MCTargetExpr : public MCExpr {
648 MCTargetExpr() : MCExpr(Target, SMLoc()) {} in MCTargetExpr()
657 virtual bool isEqualTo(const MCExpr *x) const { return false; } in isEqualTo()
666 static bool classof(const MCExpr *E) { in classof()
667 return E->getKind() == MCExpr::Target; in classof()