Lines Matching defs:Intrinsic

294 // Intrinsic
299 class Intrinsic {
338 std::set<Intrinsic *> Dependencies;
362 Intrinsic(Record *R, StringRef Name, StringRef Proto, TypeSpec OutTS,
405 const std::set<Intrinsic *> &getDependencies() const { return Dependencies; }
422 llvm_unreachable("Intrinsic has no immediate");
455 bool operator<(const Intrinsic &Other) const {
507 Intrinsic &Intr;
511 DagEmitter(Intrinsic &Intr, StringRef CallPrefix) :
536 std::map<std::string, std::deque<Intrinsic>> IntrinsicMap;
539 void createIntrinsic(Record *R, SmallVectorImpl<Intrinsic *> &Out);
540 void genBuiltinsDef(raw_ostream &OS, SmallVectorImpl<Intrinsic *> &Defs);
542 SmallVectorImpl<Intrinsic *> &Defs);
544 SmallVectorImpl<Intrinsic *> &Defs);
547 /// Called by Intrinsic - this attempts to get an intrinsic that takes
549 Intrinsic &getIntrinsic(StringRef Name, ArrayRef<Type> Types);
551 /// Called by Intrinsic - returns a globally-unique number.
904 // Intrinsic implementation
907 StringRef Intrinsic::getNextModifiers(StringRef Proto, unsigned &Pos) const {
920 std::string Intrinsic::getInstTypeCode(Type T, ClassKind CK) const {
958 std::string Intrinsic::getBuiltinTypeStr() {
1013 std::string Intrinsic::getMangledName(bool ForceClassS) const {
1024 std::string Intrinsic::mangleName(std::string Name, ClassKind LocalCK) const {
1074 std::string Intrinsic::replaceParamsIn(std::string S) {
1090 void Intrinsic::initVariables() {
1105 void Intrinsic::emitPrototype(StringRef NamePrefix) {
1131 void Intrinsic::emitOpeningBrace() {
1139 void Intrinsic::emitClosingBrace() {
1146 void Intrinsic::emitNewLine() {
1153 void Intrinsic::emitReverseVariable(Variable &Dest, Variable &Src) {
1177 void Intrinsic::emitArgumentReversal() {
1198 void Intrinsic::emitReturnReversal() {
1207 void Intrinsic::emitShadowedArgs() {
1239 bool Intrinsic::protoHasScalar() const {
1245 void Intrinsic::emitBodyAsBuiltinCall() {
1321 void Intrinsic::emitBody(StringRef CallPrefix) {
1357 void Intrinsic::emitReturn() {
1367 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDag(DagInit *DI) {
1396 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagOp(DagInit *DI) {
1414 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagCall(DagInit *DI) {
1430 Intrinsic &Callee = Intr.Emitter.getIntrinsic(N, Types);
1451 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagCast(DagInit *DI,
1518 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagShuffle(DagInit *DI){
1628 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDup(DagInit *DI) {
1647 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagDupTyped(DagInit *DI) {
1669 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSplat(DagInit *DI) {
1688 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagSaveTemp(DagInit *DI) {
1711 Intrinsic::DagEmitter::emitDagNameReplace(DagInit *DI) {
1726 std::pair<Type, std::string> Intrinsic::DagEmitter::emitDagLiteral(DagInit *DI){
1733 Intrinsic::DagEmitter::emitDagArg(Init *Arg, std::string ArgName) {
1750 std::string Intrinsic::generate() {
1783 void Intrinsic::generateImpl(bool ReverseArguments,
1820 void Intrinsic::indexBody() {
1834 Intrinsic &NeonEmitter::getIntrinsic(StringRef Name, ArrayRef<Type> Types) {
1837 ("Intrinsic '" + Name + "' not found!").str());
1839 std::vector<Intrinsic *> GoodVec;
1885 SmallVectorImpl<Intrinsic *> &Out) {
1940 SmallVectorImpl<Intrinsic *> &Defs) {
1967 SmallVectorImpl<Intrinsic *> &Defs) {
2046 SmallVectorImpl<Intrinsic *> &Defs) {
2132 SmallVector<Intrinsic *, 128> Defs;
2291 SmallVector<Intrinsic *, 128> Defs;
2308 for (SmallVector<Intrinsic *, 128>::iterator I = Defs.begin();
2398 SmallVector<Intrinsic *, 128> Defs;
2415 for (SmallVector<Intrinsic *, 128>::iterator I = Defs.begin();