• Home
  • Raw
  • Download

Lines Matching refs:Out

89     formatted_raw_ostream &Out;  member in __anon866f8dd00111::CWriter
115 : FunctionPass(ID), Out(o), IL(0), Mang(0), LI(0), in CWriter()
165 raw_ostream &printType(raw_ostream &Out, Type *Ty,
170 raw_ostream &printSimpleType(raw_ostream &Out, Type *Ty,
174 void printStructReturnPointerFunctionType(raw_ostream &Out,
188 Out << "*("; in writeOperandDeref()
190 Out << ")"; in writeOperandDeref()
210 void printIntrinsicDefinition(const Function &F, raw_ostream &Out);
339 Out << " " << GetValueName(I) << " = "; in outputLValue()
384 void CWriter::printStructReturnPointerFunctionType(raw_ostream &Out, in printStructReturnPointerFunctionType() argument
416 printType(Out, RetTy, in printStructReturnPointerFunctionType()
421 CWriter::printSimpleType(raw_ostream &Out, Type *Ty, bool isSigned, in printSimpleType() argument
426 case Type::VoidTyID: return Out << "void " << NameSoFar; in printSimpleType()
430 return Out << "bool " << NameSoFar; in printSimpleType()
432 return Out << (isSigned?"signed":"unsigned") << " char " << NameSoFar; in printSimpleType()
434 return Out << (isSigned?"signed":"unsigned") << " short " << NameSoFar; in printSimpleType()
436 return Out << (isSigned?"signed":"unsigned") << " int " << NameSoFar; in printSimpleType()
438 return Out << (isSigned?"signed":"unsigned") << " long long "<< NameSoFar; in printSimpleType()
441 return Out << (isSigned?"llvmInt128":"llvmUInt128") << " " << NameSoFar; in printSimpleType()
444 case Type::FloatTyID: return Out << "float " << NameSoFar; in printSimpleType()
445 case Type::DoubleTyID: return Out << "double " << NameSoFar; in printSimpleType()
450 case Type::FP128TyID: return Out << "long double " << NameSoFar; in printSimpleType()
453 return printSimpleType(Out, Type::getInt32Ty(Ty->getContext()), isSigned, in printSimpleType()
458 return printSimpleType(Out, VTy->getElementType(), isSigned, in printSimpleType()
474 raw_ostream &CWriter::printType(raw_ostream &Out, Type *Ty, in printType() argument
478 printSimpleType(Out, Ty, isSigned, NameSoFar); in printType()
479 return Out; in printType()
510 printType(Out, FTy->getReturnType(), in printType()
512 return Out; in printType()
519 return Out << getStructName(STy) << ' ' << NameSoFar; in printType()
521 Out << NameSoFar + " {\n"; in printType()
525 Out << " "; in printType()
526 printType(Out, *I, false, "field" + utostr(Idx++)); in printType()
527 Out << ";\n"; in printType()
529 Out << '}'; in printType()
531 Out << " __attribute__ ((packed))"; in printType()
532 return Out; in printType()
545 return printType(Out, PTy->getElementType(), false, ptrName, true, PAL); in printType()
546 return printType(Out, PTy->getElementType(), false, ptrName); in printType()
555 Out << NameSoFar << " { "; in printType()
556 printType(Out, ATy->getElementType(), false, in printType()
558 return Out << "; }"; in printType()
565 return Out; in printType()
583 Out << '\"'; in printConstantArray()
600 Out << "\\" << (char)C; in printConstantArray()
602 Out << (char)C; in printConstantArray()
606 case '\n': Out << "\\n"; break; in printConstantArray()
607 case '\t': Out << "\\t"; break; in printConstantArray()
608 case '\r': Out << "\\r"; break; in printConstantArray()
609 case '\v': Out << "\\v"; break; in printConstantArray()
610 case '\a': Out << "\\a"; break; in printConstantArray()
611 case '\"': Out << "\\\""; break; in printConstantArray()
612 case '\'': Out << "\\\'"; break; in printConstantArray()
614 Out << "\\x"; in printConstantArray()
615 Out << (char)(( C/16 < 10) ? ( C/16 +'0') : ( C/16 -10+'A')); in printConstantArray()
616 Out << (char)(((C&15) < 10) ? ((C&15)+'0') : ((C&15)-10+'A')); in printConstantArray()
622 Out << '\"'; in printConstantArray()
624 Out << '{'; in printConstantArray()
626 Out << ' '; in printConstantArray()
629 Out << ", "; in printConstantArray()
633 Out << " }"; in printConstantArray()
638 Out << '{'; in printConstantVector()
640 Out << ' '; in printConstantVector()
643 Out << ", "; in printConstantVector()
647 Out << " }"; in printConstantVector()
705 Out << '('; in printCast()
706 printType(Out, DstTy); in printCast()
707 Out << ')'; in printCast()
712 Out << '('; in printCast()
713 printSimpleType(Out, DstTy, false); in printCast()
714 Out << ')'; in printCast()
718 Out << '('; in printCast()
719 printSimpleType(Out, DstTy, true); in printCast()
720 Out << ')'; in printCast()
730 Out << '('; in printCast()
731 printSimpleType(Out, SrcTy, false); in printCast()
732 Out << ')'; in printCast()
736 Out << '('; in printCast()
737 printSimpleType(Out, SrcTy, true); in printCast()
738 Out << ')'; in printCast()
743 Out << "(unsigned long)"; in printCast()
774 Out << "("; in printConstant()
779 Out << "0-"; in printConstant()
788 Out << "&1u"; in printConstant()
790 Out << ')'; in printConstant()
794 Out << "("; in printConstant()
797 Out << ")"; in printConstant()
800 Out << '('; in printConstant()
802 Out << '?'; in printConstant()
804 Out << ':'; in printConstant()
806 Out << ')'; in printConstant()
828 Out << '('; in printConstant()
833 case Instruction::FAdd: Out << " + "; break; in printConstant()
835 case Instruction::FSub: Out << " - "; break; in printConstant()
837 case Instruction::FMul: Out << " * "; break; in printConstant()
840 case Instruction::FRem: Out << " % "; break; in printConstant()
843 case Instruction::FDiv: Out << " / "; break; in printConstant()
844 case Instruction::And: Out << " & "; break; in printConstant()
845 case Instruction::Or: Out << " | "; break; in printConstant()
846 case Instruction::Xor: Out << " ^ "; break; in printConstant()
847 case Instruction::Shl: Out << " << "; break; in printConstant()
849 case Instruction::AShr: Out << " >> "; break; in printConstant()
852 case ICmpInst::ICMP_EQ: Out << " == "; break; in printConstant()
853 case ICmpInst::ICMP_NE: Out << " != "; break; in printConstant()
855 case ICmpInst::ICMP_ULT: Out << " < "; break; in printConstant()
857 case ICmpInst::ICMP_ULE: Out << " <= "; break; in printConstant()
859 case ICmpInst::ICMP_UGT: Out << " > "; break; in printConstant()
861 case ICmpInst::ICMP_UGE: Out << " >= "; break; in printConstant()
869 Out << "))"; in printConstant()
870 Out << ')'; in printConstant()
874 Out << '('; in printConstant()
877 Out << "0"; in printConstant()
879 Out << "1"; in printConstant()
899 Out << "llvm_fcmp_" << op << "("; in printConstant()
901 Out << ", "; in printConstant()
903 Out << ")"; in printConstant()
906 Out << "))"; in printConstant()
907 Out << ')'; in printConstant()
918 Out << "(("; in printConstant()
919 printType(Out, CPV->getType()); // sign doesn't matter in printConstant()
920 Out << ")/*UNDEF*/"; in printConstant()
922 Out << "0)"; in printConstant()
924 Out << "{})"; in printConstant()
932 Out << (CI->getZExtValue() ? '1' : '0'); in printConstant()
934 Out << CI->getZExtValue() << 'u'; in printConstant()
936 Out << CI->getZExtValue() << "ull"; in printConstant()
938 Out << "(("; in printConstant()
939 printSimpleType(Out, Ty, false) << ')'; in printConstant()
941 Out << CI->getZExtValue() << 'u'; in printConstant()
943 Out << CI->getSExtValue(); in printConstant()
944 Out << ')'; in printConstant()
960 Out << "(*(" << (FPC->getType() == Type::getFloatTy(CPV->getContext()) ? in printConstant()
1001 Out << "LLVM_NAN" << (Val == QuietNaN ? "" : "S") << "F(\"" in printConstant()
1004 Out << "LLVM_NAN" << (Val == QuietNaN ? "" : "S") << "(\"" in printConstant()
1008 if (V < 0) Out << '-'; in printConstant()
1009 Out << "LLVM_INF" << in printConstant()
1022 Out << Num; in printConstant()
1031 Out << "("; in printConstant()
1032 printType(Out, CPV->getType()); in printConstant()
1033 Out << ")"; in printConstant()
1035 Out << "{ "; // Arrays are wrapped in struct types. in printConstant()
1041 Out << '{'; in printConstant()
1043 Out << ' '; in printConstant()
1047 Out << ", "; in printConstant()
1051 Out << " }"; in printConstant()
1053 Out << " }"; // Arrays are wrapped in struct types. in printConstant()
1059 Out << "("; in printConstant()
1060 printType(Out, CPV->getType()); in printConstant()
1061 Out << ")"; in printConstant()
1068 Out << "{ "; in printConstant()
1072 Out << ", "; in printConstant()
1075 Out << " }"; in printConstant()
1082 Out << "("; in printConstant()
1083 printType(Out, CPV->getType()); in printConstant()
1084 Out << ")"; in printConstant()
1088 Out << '{'; in printConstant()
1090 Out << ' '; in printConstant()
1093 Out << ", "; in printConstant()
1097 Out << " }"; in printConstant()
1099 Out << '{'; in printConstant()
1101 Out << ' '; in printConstant()
1104 Out << ", "; in printConstant()
1108 Out << " }"; in printConstant()
1114 Out << "(("; in printConstant()
1115 printType(Out, CPV->getType()); // sign doesn't matter in printConstant()
1116 Out << ")/*NULL*/0)"; in printConstant()
1172 Out << "(("; in printConstExprCast()
1174 printSimpleType(Out, Ty, TypeIsSigned); in printConstExprCast()
1176 printType(Out, Ty); // not integer, sign doesn't matter in printConstExprCast()
1177 Out << ")("; in printConstExprCast()
1223 Out << "(("; in printConstantWithCast()
1224 printSimpleType(Out, OpTy, typeIsSigned); in printConstantWithCast()
1225 Out << ")"; in printConstantWithCast()
1227 Out << ")"; in printConstantWithCast()
1300 Out << "(("; in writeInstComputationInline()
1305 Out << ")&1)"; in writeInstComputationInline()
1313 Out << '('; in writeOperandInternal()
1315 Out << ')'; in writeOperandInternal()
1324 Out << GetValueName(Operand); in writeOperandInternal()
1330 Out << "(&"; // Global variables are referenced as their addresses by llvm in writeOperand()
1335 Out << ')'; in writeOperand()
1353 Out << "(("; in writeInstructionCast()
1354 printSimpleType(Out, Ty, false); in writeInstructionCast()
1355 Out << ")("; in writeInstructionCast()
1360 Out << "(("; in writeInstructionCast()
1361 printSimpleType(Out, Ty, true); in writeInstructionCast()
1362 Out << ")("; in writeInstructionCast()
1413 Out << "(("; in writeOperandWithCast()
1414 printSimpleType(Out, OpTy, castIsSigned); in writeOperandWithCast()
1415 Out << ")"; in writeOperandWithCast()
1417 Out << ")"; in writeOperandWithCast()
1447 Out << "(("; in writeOperandWithCast()
1448 printSimpleType(Out, OpTy, castIsSigned); in writeOperandWithCast()
1449 Out << ")"; in writeOperandWithCast()
1451 Out << ")"; in writeOperandWithCast()
1457 static void generateCompilerSpecificCode(formatted_raw_ostream& Out, in generateCompilerSpecificCode() argument
1460 Out << "/* get a declaration for alloca */\n" in generateCompilerSpecificCode()
1487 Out << "#ifndef __GNUC__ /* Can only support \"linkonce\" vars with GCC */\n" in generateCompilerSpecificCode()
1492 Out << "#if defined(__GNUC__) && defined(__APPLE_CC__)\n" in generateCompilerSpecificCode()
1501 Out << "#if defined(__GNUC__) && defined(__APPLE_CC__)\n" in generateCompilerSpecificCode()
1510 Out << "#if defined(__GNUC__)\n" in generateCompilerSpecificCode()
1545 Out << "#ifdef __GNUC__\n" in generateCompilerSpecificCode()
1570 Out << "#if __GNUC__ < 4 /* Old GCC's, or compilers not GCC */ \n" in generateCompilerSpecificCode()
1578 Out << "#if __GNUC__ && __LP64__ /* 128-bit integer types */\n" in generateCompilerSpecificCode()
1584 Out << "#define CODE_FOR_MAIN() /* Any target-specific code for main()*/\n"; in generateCompilerSpecificCode()
1636 raw_ostream &Out) { in PrintEscapedString() argument
1640 Out << C; in PrintEscapedString()
1642 Out << "\\\\"; in PrintEscapedString()
1644 Out << "\\\""; in PrintEscapedString()
1646 Out << "\\t"; in PrintEscapedString()
1648 Out << "\\x" << hexdigit(C >> 4) << hexdigit(C & 0x0F); in PrintEscapedString()
1654 static void PrintEscapedString(const std::string &Str, raw_ostream &Out) { in PrintEscapedString() argument
1655 PrintEscapedString(Str.c_str(), Str.size(), Out); in PrintEscapedString()
1699 Out << "/* Provide Declarations */\n"; in doInitialization()
1700 Out << "#include <stdarg.h>\n"; // Varargs support in doInitialization()
1701 Out << "#include <setjmp.h>\n"; // Unwind support in doInitialization()
1702 Out << "#include <limits.h>\n"; // With overflow intrinsics support. in doInitialization()
1703 generateCompilerSpecificCode(Out, TD); in doInitialization()
1706 Out << "\n" in doInitialization()
1723 Out << "/* Module asm statements */\n" in doInitialization()
1733 Out << "\""; in doInitialization()
1735 Out); in doInitialization()
1736 Out << "\\n\"\n"; in doInitialization()
1740 Out << "\""; in doInitialization()
1741 PrintEscapedString(std::string(Asm.begin()+CurPos, Asm.end()), Out); in doInitialization()
1742 Out << "\");\n" in doInitialization()
1751 Out << "\n/* External Global Variable Declarations */\n"; in doInitialization()
1757 Out << "extern "; in doInitialization()
1759 Out << "__declspec(dllimport) "; in doInitialization()
1765 Out << "__thread "; in doInitialization()
1767 printType(Out, I->getType()->getElementType(), false, GetValueName(I)); in doInitialization()
1770 Out << " __EXTERNAL_WEAK__"; in doInitialization()
1771 Out << ";\n"; in doInitialization()
1776 Out << "\n/* Function Declarations */\n"; in doInitialization()
1777 Out << "double fmod(double, double);\n"; // Support for FP rem in doInitialization()
1778 Out << "float fmodf(float, float);\n"; in doInitialization()
1779 Out << "long double fmodl(long double, long double);\n"; in doInitialization()
1804 Out << "extern "; in doInitialization()
1807 Out << " __ATTRIBUTE_WEAK__"; in doInitialization()
1809 Out << " __EXTERNAL_WEAK__"; in doInitialization()
1811 Out << " __ATTRIBUTE_CTOR__"; in doInitialization()
1813 Out << " __ATTRIBUTE_DTOR__"; in doInitialization()
1815 Out << " __HIDDEN__"; in doInitialization()
1818 Out << " LLVM_ASM(\"" << I->getName().substr(1) << "\")"; in doInitialization()
1820 Out << ";\n"; in doInitialization()
1825 Out << "\n\n/* Global Variable Declarations */\n"; in doInitialization()
1834 Out << "static "; in doInitialization()
1836 Out << "extern "; in doInitialization()
1840 Out << "__thread "; in doInitialization()
1842 printType(Out, I->getType()->getElementType(), false, in doInitialization()
1846 Out << " __attribute__((common))"; in doInitialization()
1848 Out << " __ATTRIBUTE_WEAK__"; in doInitialization()
1850 Out << " __ATTRIBUTE_WEAK__"; in doInitialization()
1852 Out << " __EXTERNAL_WEAK__"; in doInitialization()
1854 Out << " __HIDDEN__"; in doInitialization()
1855 Out << ";\n"; in doInitialization()
1861 Out << "\n\n/* Global Variable Definitions and Initialization */\n"; in doInitialization()
1870 Out << "static "; in doInitialization()
1872 Out << "__declspec(dllimport) "; in doInitialization()
1874 Out << "__declspec(dllexport) "; in doInitialization()
1878 Out << "__thread "; in doInitialization()
1880 printType(Out, I->getType()->getElementType(), false, in doInitialization()
1883 Out << " __attribute__((common))"; in doInitialization()
1885 Out << " __ATTRIBUTE_WEAK__"; in doInitialization()
1887 Out << " __ATTRIBUTE_WEAK__"; in doInitialization()
1890 Out << " __HIDDEN__"; in doInitialization()
1899 Out << " = " ; in doInitialization()
1905 Out << " = " ; in doInitialization()
1908 Out << "{ 0 }"; in doInitialization()
1912 Out << "{ { 0 } }"; in doInitialization()
1918 Out << ";\n"; in doInitialization()
1923 Out << "\n\n/* Function Bodies */\n"; in doInitialization()
1927 Out << "static inline int llvm_fcmp_ord(double X, double Y) { "; in doInitialization()
1928 Out << "return X == X && Y == Y; }\n"; in doInitialization()
1929 Out << "static inline int llvm_fcmp_uno(double X, double Y) { "; in doInitialization()
1930 Out << "return X != X || Y != Y; }\n"; in doInitialization()
1931 Out << "static inline int llvm_fcmp_ueq(double X, double Y) { "; in doInitialization()
1932 Out << "return X == Y || llvm_fcmp_uno(X, Y); }\n"; in doInitialization()
1933 Out << "static inline int llvm_fcmp_une(double X, double Y) { "; in doInitialization()
1934 Out << "return X != Y; }\n"; in doInitialization()
1935 Out << "static inline int llvm_fcmp_ult(double X, double Y) { "; in doInitialization()
1936 Out << "return X < Y || llvm_fcmp_uno(X, Y); }\n"; in doInitialization()
1937 Out << "static inline int llvm_fcmp_ugt(double X, double Y) { "; in doInitialization()
1938 Out << "return X > Y || llvm_fcmp_uno(X, Y); }\n"; in doInitialization()
1939 Out << "static inline int llvm_fcmp_ule(double X, double Y) { "; in doInitialization()
1940 Out << "return X <= Y || llvm_fcmp_uno(X, Y); }\n"; in doInitialization()
1941 Out << "static inline int llvm_fcmp_uge(double X, double Y) { "; in doInitialization()
1942 Out << "return X >= Y || llvm_fcmp_uno(X, Y); }\n"; in doInitialization()
1943 Out << "static inline int llvm_fcmp_oeq(double X, double Y) { "; in doInitialization()
1944 Out << "return X == Y ; }\n"; in doInitialization()
1945 Out << "static inline int llvm_fcmp_one(double X, double Y) { "; in doInitialization()
1946 Out << "return X != Y && llvm_fcmp_ord(X, Y); }\n"; in doInitialization()
1947 Out << "static inline int llvm_fcmp_olt(double X, double Y) { "; in doInitialization()
1948 Out << "return X < Y ; }\n"; in doInitialization()
1949 Out << "static inline int llvm_fcmp_ogt(double X, double Y) { "; in doInitialization()
1950 Out << "return X > Y ; }\n"; in doInitialization()
1951 Out << "static inline int llvm_fcmp_ole(double X, double Y) { "; in doInitialization()
1952 Out << "return X <= Y ; }\n"; in doInitialization()
1953 Out << "static inline int llvm_fcmp_oge(double X, double Y) { "; in doInitialization()
1954 Out << "return X >= Y ; }\n"; in doInitialization()
1960 printIntrinsicDefinition(**I, Out); in doInitialization()
1978 Out << '\n'; in printFloatingPointConstants()
2003 Out << "static const ConstantDoubleTy FPConstant" << FPCounter++ in printFloatingPointConstants()
2010 Out << "static const ConstantFloatTy FPConstant" << FPCounter++ in printFloatingPointConstants()
2017 Out << "static const ConstantFP80Ty FPConstant" << FPCounter++ in printFloatingPointConstants()
2025 Out << "static const ConstantFP128Ty FPConstant" << FPCounter++ in printFloatingPointConstants()
2040 Out << "/* Helper union for bitcasts */\n"; in printModuleTypes()
2041 Out << "typedef union {\n"; in printModuleTypes()
2042 Out << " unsigned int Int32;\n"; in printModuleTypes()
2043 Out << " unsigned long long Int64;\n"; in printModuleTypes()
2044 Out << " float Float;\n"; in printModuleTypes()
2045 Out << " double Double;\n"; in printModuleTypes()
2046 Out << "} llvmBitCastUnion;\n"; in printModuleTypes()
2054 Out << "/* Structure forward decls */\n"; in printModuleTypes()
2068 Out << "typedef struct " << Name << ' ' << Name << ";\n"; in printModuleTypes()
2071 Out << '\n'; in printModuleTypes()
2079 Out << "/* Structure contents */\n"; in printModuleTypes()
2107 printType(Out, ST, false, getStructName(ST), true); in printContainedStructs()
2108 Out << ";\n\n"; in printContainedStructs()
2116 if (F->hasLocalLinkage()) Out << "static "; in printFunctionSignature()
2117 if (F->hasDLLImportLinkage()) Out << "__declspec(dllimport) "; in printFunctionSignature()
2118 if (F->hasDLLExportLinkage()) Out << "__declspec(dllexport) "; in printFunctionSignature()
2121 Out << "__attribute__((stdcall)) "; in printFunctionSignature()
2124 Out << "__attribute__((fastcall)) "; in printFunctionSignature()
2127 Out << "__attribute__((thiscall)) "; in printFunctionSignature()
2228 printType(Out, RetTy, in printFunctionSignature()
2247 Out << " {\n"; in printFunction()
2253 Out << " "; in printFunction()
2254 printType(Out, StructTy, false, "StructReturn"); in printFunction()
2255 Out << "; /* Struct return temporary */\n"; in printFunction()
2257 Out << " "; in printFunction()
2258 printType(Out, F.arg_begin()->getType(), false, in printFunction()
2260 Out << " = &StructReturn;\n"; in printFunction()
2268 Out << " "; in printFunction()
2269 printType(Out, AI->getAllocatedType(), false, GetValueName(AI)); in printFunction()
2270 Out << "; /* Address-exposed local */\n"; in printFunction()
2274 Out << " "; in printFunction()
2275 printType(Out, I->getType(), false, GetValueName(&*I)); in printFunction()
2276 Out << ";\n"; in printFunction()
2279 Out << " "; in printFunction()
2280 printType(Out, I->getType(), false, in printFunction()
2282 Out << ";\n"; in printFunction()
2290 Out << " llvmBitCastUnion " << GetValueName(&*I) in printFunction()
2297 Out << '\n'; in printFunction()
2300 Out << " CODE_FOR_MAIN();\n"; in printFunction()
2312 Out << "}\n\n"; in printFunction()
2316 Out << " do { /* Syntactic loop '" << L->getHeader()->getName() in printLoop()
2326 Out << " } while (1); /* end of syntactic loop '" in printLoop()
2344 if (NeedsLabel) Out << GetValueName(BB) << ":\n"; in printBasicBlock()
2354 Out << " "; in printBasicBlock()
2356 Out << ";\n"; in printBasicBlock()
2373 Out << " return StructReturn;\n"; in visitReturnInst()
2384 Out << " return"; in visitReturnInst()
2386 Out << ' '; in visitReturnInst()
2389 Out << ";\n"; in visitReturnInst()
2394 Out << " switch ("; in visitSwitchInst()
2396 Out << ") {\n default:\n"; in visitSwitchInst()
2399 Out << ";\n"; in visitSwitchInst()
2401 Out << " case "; in visitSwitchInst()
2403 Out << ":\n"; in visitSwitchInst()
2408 Out << " break;\n"; in visitSwitchInst()
2410 Out << " }\n"; in visitSwitchInst()
2414 Out << " goto *(void*)("; in visitIndirectBrInst()
2416 Out << ");\n"; in visitIndirectBrInst()
2420 Out << " /*UNREACHABLE*/;\n"; in visitUnreachableInst()
2445 Out << std::string(Indent, ' '); in printPHICopiesForSuccessor()
2446 Out << " " << GetValueName(I) << "__PHI_TEMPORARY = "; in printPHICopiesForSuccessor()
2448 Out << "; /* for PHI node */\n"; in printPHICopiesForSuccessor()
2456 Out << std::string(Indent, ' ') << " goto "; in printBranchToBlock()
2458 Out << ";\n"; in printBranchToBlock()
2469 Out << " if ("; in visitBranchInst()
2471 Out << ") {\n"; in visitBranchInst()
2477 Out << " } else {\n"; in visitBranchInst()
2483 Out << " if (!"; in visitBranchInst()
2485 Out << ") {\n"; in visitBranchInst()
2491 Out << " }\n"; in visitBranchInst()
2496 Out << "\n"; in visitBranchInst()
2504 Out << "__PHI_TEMPORARY"; in visitPHINode()
2518 Out << "(("; in visitBinaryOperator()
2519 printType(Out, I.getType(), false); in visitBinaryOperator()
2520 Out << ")("; in visitBinaryOperator()
2526 Out << "-("; in visitBinaryOperator()
2528 Out << ")"; in visitBinaryOperator()
2530 Out << "-("; in visitBinaryOperator()
2532 Out << ")"; in visitBinaryOperator()
2536 Out << "fmodf("; in visitBinaryOperator()
2538 Out << "fmod("; in visitBinaryOperator()
2540 Out << "fmodl("; in visitBinaryOperator()
2542 Out << ", "; in visitBinaryOperator()
2544 Out << ")"; in visitBinaryOperator()
2558 case Instruction::FAdd: Out << " + "; break; in visitBinaryOperator()
2560 case Instruction::FSub: Out << " - "; break; in visitBinaryOperator()
2562 case Instruction::FMul: Out << " * "; break; in visitBinaryOperator()
2565 case Instruction::FRem: Out << " % "; break; in visitBinaryOperator()
2568 case Instruction::FDiv: Out << " / "; break; in visitBinaryOperator()
2569 case Instruction::And: Out << " & "; break; in visitBinaryOperator()
2570 case Instruction::Or: Out << " | "; break; in visitBinaryOperator()
2571 case Instruction::Xor: Out << " ^ "; break; in visitBinaryOperator()
2572 case Instruction::Shl : Out << " << "; break; in visitBinaryOperator()
2574 case Instruction::AShr: Out << " >> "; break; in visitBinaryOperator()
2584 Out << "))"; in visitBinaryOperator()
2588 Out << "))"; in visitBinaryOperator()
2606 case ICmpInst::ICMP_EQ: Out << " == "; break; in visitICmpInst()
2607 case ICmpInst::ICMP_NE: Out << " != "; break; in visitICmpInst()
2609 case ICmpInst::ICMP_SLE: Out << " <= "; break; in visitICmpInst()
2611 case ICmpInst::ICMP_SGE: Out << " >= "; break; in visitICmpInst()
2613 case ICmpInst::ICMP_SLT: Out << " < "; break; in visitICmpInst()
2615 case ICmpInst::ICMP_SGT: Out << " > "; break; in visitICmpInst()
2625 Out << "))"; in visitICmpInst()
2628 Out << "))"; in visitICmpInst()
2634 Out << "0"; in visitFCmpInst()
2638 Out << "1"; in visitFCmpInst()
2661 Out << "llvm_fcmp_" << op << "("; in visitFCmpInst()
2664 Out << ", "; in visitFCmpInst()
2667 Out << ")"; in visitFCmpInst()
2689 Out << '('; in visitCastInst()
2691 Out << GetValueName(&I) << "__BITCAST_TEMPORARY." in visitCastInst()
2694 Out << ", " << GetValueName(&I) << "__BITCAST_TEMPORARY." in visitCastInst()
2696 Out << ')'; in visitCastInst()
2700 Out << '('; in visitCastInst()
2706 Out << "0-"; in visitCastInst()
2716 Out << "&1u"; in visitCastInst()
2718 Out << ')'; in visitCastInst()
2722 Out << "(("; in visitSelectInst()
2724 Out << ") ? ("; in visitSelectInst()
2726 Out << ") : ("; in visitSelectInst()
2728 Out << "))"; in visitSelectInst()
2734 raw_ostream &Out) { in printLimitValue() argument
2753 Out << sprefix << type << (isMax ? "_MAX" : "_MIN"); in printLimitValue()
2755 Out << "U" << type << (isMax ? "_MAX" : "0"); in printLimitValue()
2765 void CWriter::printIntrinsicDefinition(const Function &F, raw_ostream &Out) { in printIntrinsicDefinition() argument
2785 Out << "static inline "; in printIntrinsicDefinition()
2786 printType(Out, retT); in printIntrinsicDefinition()
2787 Out << GetValueName(&F); in printIntrinsicDefinition()
2788 Out << "("; in printIntrinsicDefinition()
2789 printSimpleType(Out, elemT, false); in printIntrinsicDefinition()
2790 Out << "a,"; in printIntrinsicDefinition()
2791 printSimpleType(Out, elemT, false); in printIntrinsicDefinition()
2792 Out << "b) {\n "; in printIntrinsicDefinition()
2793 printType(Out, retT); in printIntrinsicDefinition()
2794 Out << "r;\n"; in printIntrinsicDefinition()
2795 Out << " r.field0 = a + b;\n"; in printIntrinsicDefinition()
2796 Out << " r.field1 = (r.field0 < a);\n"; in printIntrinsicDefinition()
2797 Out << " return r;\n}\n"; in printIntrinsicDefinition()
2808 Out << "static "; in printIntrinsicDefinition()
2809 printType(Out, retT); in printIntrinsicDefinition()
2810 Out << GetValueName(&F); in printIntrinsicDefinition()
2811 Out << "("; in printIntrinsicDefinition()
2812 printSimpleType(Out, elemT, true); in printIntrinsicDefinition()
2813 Out << "a,"; in printIntrinsicDefinition()
2814 printSimpleType(Out, elemT, true); in printIntrinsicDefinition()
2815 Out << "b) {\n "; in printIntrinsicDefinition()
2816 printType(Out, retT); in printIntrinsicDefinition()
2817 Out << "r;\n"; in printIntrinsicDefinition()
2818 Out << " r.field1 = (b > 0 && a > "; in printIntrinsicDefinition()
2819 printLimitValue(*elemT, true, true, Out); in printIntrinsicDefinition()
2820 Out << " - b) || (b < 0 && a < "; in printIntrinsicDefinition()
2821 printLimitValue(*elemT, true, false, Out); in printIntrinsicDefinition()
2822 Out << " - b);\n"; in printIntrinsicDefinition()
2823 Out << " r.field0 = r.field1 ? 0 : a + b;\n"; in printIntrinsicDefinition()
2824 Out << " return r;\n}\n"; in printIntrinsicDefinition()
2901 Out << '\n'; in lowerIntrinsics()
2903 Out << ";\n"; in lowerIntrinsics()
2932 Out << " = "; in visitCallInst()
2935 if (I.isTailCall()) Out << " /*tail*/ "; in visitCallInst()
2963 Out << "(("; in visitCallInst()
2965 printStructReturnPointerFunctionType(Out, PAL, in visitCallInst()
2968 printType(Out, I.getCalledValue()->getType(), false, "", true, PAL); in visitCallInst()
2970 printType(Out, I.getCalledValue()->getType()); in visitCallInst()
2971 Out << ")(void*)"; in visitCallInst()
2974 if (NeedsCast) Out << ')'; in visitCallInst()
2977 Out << '('; in visitCallInst()
2981 Out << "0 /*dummy arg*/"; in visitCallInst()
2996 if (PrintedArg) Out << ", "; in visitCallInst()
2999 Out << '('; in visitCallInst()
3000 printType(Out, FTy->getParamType(ArgNo), in visitCallInst()
3002 Out << ')'; in visitCallInst()
3011 Out << ')'; in visitCallInst()
3030 Out << BuiltinName; in visitBuiltinCall()
3035 Out << "__sync_synchronize()"; in visitBuiltinCall()
3038 Out << "0; "; in visitBuiltinCall()
3040 Out << "va_start(*(va_list*)"; in visitBuiltinCall()
3042 Out << ", "; in visitBuiltinCall()
3045 Out << "vararg_dummy_arg"; in visitBuiltinCall()
3048 Out << ')'; in visitBuiltinCall()
3052 Out << "0; va_end(*(va_list*)"; in visitBuiltinCall()
3054 Out << ')'; in visitBuiltinCall()
3056 Out << "va_end(*(va_list*)0)"; in visitBuiltinCall()
3060 Out << "0; "; in visitBuiltinCall()
3061 Out << "va_copy(*(va_list*)"; in visitBuiltinCall()
3063 Out << ", *(va_list*)"; in visitBuiltinCall()
3065 Out << ')'; in visitBuiltinCall()
3068 Out << "__builtin_return_address("; in visitBuiltinCall()
3070 Out << ')'; in visitBuiltinCall()
3073 Out << "__builtin_frame_address("; in visitBuiltinCall()
3075 Out << ')'; in visitBuiltinCall()
3078 Out << "__builtin_powi("; in visitBuiltinCall()
3080 Out << ", "; in visitBuiltinCall()
3082 Out << ')'; in visitBuiltinCall()
3085 Out << "setjmp(*(jmp_buf*)"; in visitBuiltinCall()
3087 Out << ')'; in visitBuiltinCall()
3090 Out << "longjmp(*(jmp_buf*)"; in visitBuiltinCall()
3092 Out << ", "; in visitBuiltinCall()
3094 Out << ')'; in visitBuiltinCall()
3097 Out << "LLVM_PREFETCH((const void *)"; in visitBuiltinCall()
3099 Out << ", "; in visitBuiltinCall()
3101 Out << ", "; in visitBuiltinCall()
3103 Out << ")"; in visitBuiltinCall()
3108 Out << "0; *((void**)&" << GetValueName(&I) in visitBuiltinCall()
3115 Out << '('; in visitBuiltinCall()
3116 printType(Out, I.getType()); in visitBuiltinCall()
3117 Out << ')'; in visitBuiltinCall()
3121 case 0: Out << "__builtin_ia32_cmpeq"; break; in visitBuiltinCall()
3122 case 1: Out << "__builtin_ia32_cmplt"; break; in visitBuiltinCall()
3123 case 2: Out << "__builtin_ia32_cmple"; break; in visitBuiltinCall()
3124 case 3: Out << "__builtin_ia32_cmpunord"; break; in visitBuiltinCall()
3125 case 4: Out << "__builtin_ia32_cmpneq"; break; in visitBuiltinCall()
3126 case 5: Out << "__builtin_ia32_cmpnlt"; break; in visitBuiltinCall()
3127 case 6: Out << "__builtin_ia32_cmpnle"; break; in visitBuiltinCall()
3128 case 7: Out << "__builtin_ia32_cmpord"; break; in visitBuiltinCall()
3131 Out << 'p'; in visitBuiltinCall()
3133 Out << 's'; in visitBuiltinCall()
3135 Out << 's'; in visitBuiltinCall()
3137 Out << 'd'; in visitBuiltinCall()
3139 Out << "("; in visitBuiltinCall()
3141 Out << ", "; in visitBuiltinCall()
3143 Out << ")"; in visitBuiltinCall()
3146 Out << '('; in visitBuiltinCall()
3147 printType(Out, I.getType()); in visitBuiltinCall()
3148 Out << ')'; in visitBuiltinCall()
3149 Out << "__builtin_altivec_lvsl(0, (void*)"; in visitBuiltinCall()
3151 Out << ")"; in visitBuiltinCall()
3155 Out << GetValueName(I.getCalledFunction()) << "("; in visitBuiltinCall()
3157 Out << ", "; in visitBuiltinCall()
3159 Out << ")"; in visitBuiltinCall()
3239 Out << "__asm__ volatile (\"" << gccifyAsm(as->getAsmString()) << "\"\n"; in visitInlineAsm()
3240 Out << " :"; in visitInlineAsm()
3259 Out << ", "; in visitInlineAsm()
3276 Out << "\"=" << C << "\"(" << GetValueName(DestVal); in visitInlineAsm()
3278 Out << ".field" << DestValNo; // Multiple retvals. in visitInlineAsm()
3279 Out << ")"; in visitInlineAsm()
3285 Out << "\n :"; in visitInlineAsm()
3300 Out << ", "; in visitInlineAsm()
3307 Out << "\"" << C << "\"("; in visitInlineAsm()
3312 Out << ")"; in visitInlineAsm()
3327 Out << ", "; in visitInlineAsm()
3331 Out << '\"' << C << '"'; in visitInlineAsm()
3334 Out << ")"; in visitInlineAsm()
3338 Out << '('; in visitAllocaInst()
3339 printType(Out, I.getType()); in visitAllocaInst()
3340 Out << ") alloca(sizeof("; in visitAllocaInst()
3341 printType(Out, I.getType()->getElementType()); in visitAllocaInst()
3342 Out << ')'; in visitAllocaInst()
3344 Out << " * " ; in visitAllocaInst()
3347 Out << ')'; in visitAllocaInst()
3368 Out << "("; in printGEPExpression()
3374 Out << "(("; in printGEPExpression()
3375 printType(Out, PointerType::getUnqual(LastIndexIsVector->getElementType())); in printGEPExpression()
3376 Out << ")("; in printGEPExpression()
3379 Out << '&'; in printGEPExpression()
3398 Out << "->field" << cast<ConstantInt>(I.getOperand())->getZExtValue(); in printGEPExpression()
3402 Out << "(*"; in printGEPExpression()
3404 Out << ")"; in printGEPExpression()
3410 Out << ".field" << cast<ConstantInt>(I.getOperand())->getZExtValue(); in printGEPExpression()
3412 Out << ".array["; in printGEPExpression()
3414 Out << ']'; in printGEPExpression()
3416 Out << '['; in printGEPExpression()
3418 Out << ']'; in printGEPExpression()
3424 Out << "))"; // avoid "+0". in printGEPExpression()
3426 Out << ")+("; in printGEPExpression()
3428 Out << "))"; in printGEPExpression()
3432 Out << ")"; in printGEPExpression()
3442 Out << '*'; in writeMemoryAccess()
3444 Out << "(("; in writeMemoryAccess()
3446 Out << "struct __attribute__ ((packed, aligned(" << Alignment << "))) {"; in writeMemoryAccess()
3447 printType(Out, OperandType, false, IsUnaligned ? "data" : "volatile*"); in writeMemoryAccess()
3449 Out << "; } "; in writeMemoryAccess()
3450 if (IsVolatile) Out << "volatile "; in writeMemoryAccess()
3451 Out << "*"; in writeMemoryAccess()
3453 Out << ")"; in writeMemoryAccess()
3459 Out << ')'; in writeMemoryAccess()
3461 Out << "->data"; in writeMemoryAccess()
3474 Out << " = "; in visitStoreInst()
3483 Out << "(("; in visitStoreInst()
3486 Out << ") & "; in visitStoreInst()
3488 Out << ")"; in visitStoreInst()
3498 Out << "va_arg(*(va_list*)"; in visitVAArgInst()
3500 Out << ", "; in visitVAArgInst()
3501 printType(Out, I.getType()); in visitVAArgInst()
3502 Out << ");\n "; in visitVAArgInst()
3508 Out << ";\n "; in visitInsertElementInst()
3509 Out << "(("; in visitInsertElementInst()
3510 printType(Out, PointerType::getUnqual(EltTy)); in visitInsertElementInst()
3511 Out << ")(&" << GetValueName(&I) << "))["; in visitInsertElementInst()
3513 Out << "] = ("; in visitInsertElementInst()
3515 Out << ")"; in visitInsertElementInst()
3520 Out << "(("; in visitExtractElementInst()
3523 printType(Out, PointerType::getUnqual(EltTy)); in visitExtractElementInst()
3524 Out << ")(&" << GetValueName(I.getOperand(0)) << "))["; in visitExtractElementInst()
3526 Out << "]"; in visitExtractElementInst()
3530 Out << "("; in visitShuffleVectorInst()
3531 printType(Out, SVI.getType()); in visitShuffleVectorInst()
3532 Out << "){ "; in visitShuffleVectorInst()
3538 if (i) Out << ", "; in visitShuffleVectorInst()
3541 Out << " 0/*undef*/ "; in visitShuffleVectorInst()
3546 Out << "(("; in visitShuffleVectorInst()
3547 printType(Out, PointerType::getUnqual(EltTy)); in visitShuffleVectorInst()
3548 Out << ")(&" << GetValueName(Op) in visitShuffleVectorInst()
3551 Out << "0"; in visitShuffleVectorInst()
3559 Out << "}"; in visitShuffleVectorInst()
3565 Out << ";\n "; in visitInsertValueInst()
3568 Out << GetValueName(&IVI); in visitInsertValueInst()
3575 Out << ".array[" << *i << "]"; in visitInsertValueInst()
3577 Out << ".field" << *i; in visitInsertValueInst()
3579 Out << " = "; in visitInsertValueInst()
3584 Out << "("; in visitExtractValueInst()
3586 Out << "("; in visitExtractValueInst()
3587 printType(Out, EVI.getType()); in visitExtractValueInst()
3588 Out << ") 0/*UNDEF*/"; in visitExtractValueInst()
3590 Out << GetValueName(EVI.getOperand(0)); in visitExtractValueInst()
3597 Out << ".array[" << *i << "]"; in visitExtractValueInst()
3599 Out << ".field" << *i; in visitExtractValueInst()
3602 Out << ")"; in visitExtractValueInst()