Lines Matching defs:Intrinsic

302 // Intrinsic
307 class Intrinsic {
346 std::set<Intrinsic *> Dependencies;
370 Intrinsic(Record *R, StringRef Name, StringRef Proto, TypeSpec OutTS,
413 const std::set<Intrinsic *> &getDependencies() const { return Dependencies; }
430 llvm_unreachable("Intrinsic has no immediate");
463 bool operator<(const Intrinsic &Other) const {
518 Intrinsic &Intr;
522 DagEmitter(Intrinsic &Intr, StringRef CallPrefix) :
548 std::map<std::string, std::deque<Intrinsic>> IntrinsicMap;
551 void createIntrinsic(Record *R, SmallVectorImpl<Intrinsic *> &Out);
552 void genBuiltinsDef(raw_ostream &OS, SmallVectorImpl<Intrinsic *> &Defs);
554 SmallVectorImpl<Intrinsic *> &Defs);
556 SmallVectorImpl<Intrinsic *> &Defs);
558 SmallVectorImpl<Intrinsic *> &Defs);
561 /// Called by Intrinsic - this attempts to get an intrinsic that takes
563 Intrinsic &getIntrinsic(StringRef Name, ArrayRef<Type> Types,
566 /// Called by Intrinsic - returns a globally-unique number.
935 // Intrinsic implementation
938 StringRef Intrinsic::getNextModifiers(StringRef Proto, unsigned &Pos) const {
951 std::string Intrinsic::getInstTypeCode(Type T, ClassKind CK) const {
992 std::string Intrinsic::getBuiltinTypeStr() {
1047 std::string Intrinsic::getMangledName(bool ForceClassS) const {
1058 std::string Intrinsic::mangleName(std::string Name, ClassKind LocalCK) const {
1109 std::string Intrinsic::replaceParamsIn(std::string S) {
1125 void Intrinsic::initVariables() {
1140 void Intrinsic::emitPrototype(StringRef NamePrefix) {
1170 void Intrinsic::emitOpeningBrace() {
1178 void Intrinsic::emitClosingBrace() {
1185 void Intrinsic::emitNewLine() {
1192 void Intrinsic::emitReverseVariable(Variable &Dest, Variable &Src) {
1216 void Intrinsic::emitArgumentReversal() {
1237 void Intrinsic::emitReturnVarDecl() {
1246 void Intrinsic::emitReturnReversal() {
1255 void Intrinsic::emitShadowedArgs() {
1287 bool Intrinsic::protoHasScalar() const {
1292 void Intrinsic::emitBodyAsBuiltinCall() {
1368 void Intrinsic::emitBody(StringRef CallPrefix) {
1397 void Intrinsic::emitReturn() {
1407 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDag(DagInit *DI) {
1436 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagOp(DagInit *DI) {
1455 Intrinsic::DagEmitter::emitDagCall(DagInit *DI, bool MatchMangledName) {
1477 Intrinsic &Callee = Intr.Emitter.getIntrinsic(N, Types, MangledName);
1498 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagCast(DagInit *DI,
1568 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagShuffle(DagInit *DI){
1678 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDup(DagInit *DI) {
1697 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDupTyped(DagInit *DI) {
1723 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSplat(DagInit *DI) {
1742 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSaveTemp(DagInit *DI) {
1765 Intrinsic::DagEmitter::emitDagNameReplace(DagInit *DI) {
1780 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagLiteral(DagInit *DI){
1787 Intrinsic::DagEmitter::emitDagArg(Init *Arg, std::string ArgName) {
1804 std::string Intrinsic::generate() {
1837 void Intrinsic::generateImpl(bool ReverseArguments,
1877 void Intrinsic::indexBody() {
1894 Intrinsic &NeonEmitter::getIntrinsic(StringRef Name, ArrayRef<Type> Types,
1898 ("Intrinsic '" + Name + "' not found!").str());
1900 std::vector<Intrinsic *> GoodVec;
1947 SmallVectorImpl<Intrinsic *> &Out) {
2006 SmallVectorImpl<Intrinsic *> &Defs) {
2040 raw_ostream &OS, SmallVectorImpl<Intrinsic *> &Defs) {
2066 SmallVectorImpl<Intrinsic *> &Defs) {
2146 SmallVectorImpl<Intrinsic *> &Defs) {
2236 SmallVector<Intrinsic *, 128> Defs;
2395 SmallVector<Intrinsic *, 128> Defs;
2412 for (SmallVector<Intrinsic *, 128>::iterator I = Defs.begin();
2503 SmallVector<Intrinsic *, 128> Defs;
2520 for (SmallVector<Intrinsic *, 128>::iterator I = Defs.begin();
2612 SmallVector<Intrinsic *, 128> Defs;
2629 for (SmallVector<Intrinsic *, 128>::iterator I = Defs.begin();