Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Memory

536   /// such that the argument will be passed in memory.
549 /// \brief Rewrite the function info so that all memory arguments use
918 // On Darwin, some vectors are passed in memory, we handle this by passing
978 // all the memory arguments to use inalloca.
1008 // Build a packed struct type for all of the arguments in memory.
1013 // Put the sret parameter into the inalloca struct if it's in memory.
1027 // Put arguments passed in memory into the struct.
1200 Memory
1210 /// call. In addition, this should never be Memory (the caller
1211 /// should just return Memory for the aggregate).
1217 /// final MEMORY or SSE classes when necessary.
1247 /// be passed in Memory then at least the classification of \arg Lo
1248 /// will be Memory.
1266 /// such that the argument will be returned in memory.
1270 /// such that the argument will be passed in memory.
1470 // (a) If one of the classes is Memory, the whole argument is passed in
1471 // memory.
1474 // memory.
1478 // argument is passed in memory. NOTE: This is necessary to keep the
1489 if (Hi == Memory)
1490 Lo = Memory;
1492 Lo = Memory;
1494 Lo = Memory;
1510 // (c) If one of the classes is MEMORY, the result is the MEMORY
1517 // MEMORY is used as class.
1521 // Accum should never be memory (we should have returned) or
1523 assert((Accum != Memory && Accum != ComplexX87) &&
1527 if (Field == Memory)
1528 return Memory;
1535 return Memory;
1552 Current = Memory;
1610 // gcc passes <1 x double> in memory. :(
1679 // than four eightbytes, ..., it has class MEMORY.
1684 // fields, it has class MEMORY.
1698 // to work for sizes wider than 128, early check and fallback to memory.
1707 if (Lo == Memory || Hi == Memory)
1720 // than four eightbytes, ..., it has class MEMORY.
1732 // Assume variable sized types are passed in memory.
1760 if (Lo == Memory || Hi == Memory)
1773 // four eightbytes, or it contains unaligned fields, it has class MEMORY.
1777 // to work for sizes wider than 128, early check and fallback to memory.
1780 Lo = Memory;
1785 Lo = Memory;
1798 // structure to be passed in memory even if unaligned, and
1823 if (Lo == Memory || Hi == Memory)
1863 // when we need to pass this argument in memory, and LLVM could try to pass
2210 assert((Hi != Memory || Lo == Memory) && "Invalid memory classification.");
2228 // AMD64-ABI 3.2.3p4: Rule 2. Types of class memory are returned via
2230 case Memory:
2276 // Memory was handled previously and X87 should
2278 case Memory:
2288 if (Lo == NoClass) // Return HighPart at offset 8 in memory.
2293 if (Lo == NoClass) // Return HighPart at offset 8 in memory.
2316 if (Lo == NoClass) // Return HighPart at offset 8 in memory.
2341 assert((Hi != Memory || Lo == Memory) && "Invalid memory classification.");
2357 // AMD64-ABI 3.2.3p3: Rule 1. If the class is MEMORY, pass the argument
2359 case Memory:
2362 // COMPLEX_X87, it is passed in memory.
2409 // Memory was handled previously, ComplexX87 and X87 should
2411 // which is passed in memory.
2412 case Memory:
2424 if (Lo == NoClass) // Pass HighPart at offset 8 in memory.
2429 // memory), except in situations involving unions.
2434 if (Lo == NoClass) // Pass HighPart at offset 8 in memory.
2705 // Emit code to load the value if it was passed in memory.
2914 // floating-point value) to avoid pushing them to memory on function
3483 // Large vector types should be returned via memory.
3666 // Otherwise the object is contiguous in memory
4445 // Large vector types should be returned via memory.
4484 // Otherwise return in memory.
4984 // Emit code to load the value if it was passed in memory.
5569 // Large vector types should be returned via memory.