Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Memory

858   /// such that the argument will be passed in memory.
871 /// \brief Rewrite the function info so that all memory arguments use
1379 // On Darwin, some vectors are passed in memory, we handle this by passing
1448 // all the memory arguments to use inalloca.
1499 // Build a packed struct type for all of the arguments in memory.
1518 // Put the sret parameter into the inalloca struct if it's in memory.
1530 // Put arguments passed in memory into the struct.
1677 Memory
1687 /// call. In addition, this should never be Memory (the caller
1688 /// should just return Memory for the aggregate).
1694 /// final MEMORY or SSE classes when necessary.
1724 /// be passed in Memory then at least the classification of \arg Lo
1725 /// will be Memory.
1743 /// such that the argument will be returned in memory.
1747 /// such that the argument will be passed in memory.
2032 // (a) If one of the classes is Memory, the whole argument is passed in
2033 // memory.
2036 // memory.
2040 // argument is passed in memory. NOTE: This is necessary to keep the
2051 if (Hi == Memory)
2052 Lo = Memory;
2054 Lo = Memory;
2056 Lo = Memory;
2072 // (c) If one of the classes is MEMORY, the result is the MEMORY
2079 // MEMORY is used as class.
2083 // Accum should never be memory (we should have returned) or
2085 assert((Accum != Memory && Accum != ComplexX87) &&
2089 if (Field == Memory)
2090 return Memory;
2097 return Memory;
2114 Current = Memory;
2196 // gcc passes <1 x double> in memory. :(
2251 Current = Memory;
2276 // than four eightbytes, ..., it has class MEMORY.
2281 MEMORY.
2295 // to work for sizes wider than 128, early check and fallback to memory.
2304 if (Lo == Memory || Hi == Memory)
2317 // than four eightbytes, ..., it has class MEMORY.
2329 // Assume variable sized types are passed in memory.
2357 if (Lo == Memory || Hi == Memory) {
2372 // four eightbytes, or it contains unaligned fields, it has class MEMORY.
2376 // to work for sizes wider than 128, early check and fallback to memory.
2379 Lo = Memory;
2385 Lo = Memory;
2399 // structure to be passed in memory even if unaligned, and
2424 if (Lo == Memory || Hi == Memory)
2464 // when we need to pass this argument in memory, and LLVM could try to pass
2807 assert((Hi != Memory || Lo == Memory) && "Invalid memory classification.");
2825 // AMD64-ABI 3.2.3p4: Rule 2. Types of class memory are returned via
2827 case Memory:
2873 // Memory was handled previously and X87 should
2875 case Memory:
2885 if (Lo == NoClass) // Return HighPart at offset 8 in memory.
2890 if (Lo == NoClass) // Return HighPart at offset 8 in memory.
2913 if (Lo == NoClass) // Return HighPart at offset 8 in memory.
2940 assert((Hi != Memory || Lo == Memory) && "Invalid memory classification.");
2956 // AMD64-ABI 3.2.3p3: Rule 1. If the class is MEMORY, pass the argument
2958 case Memory:
2961 // COMPLEX_X87, it is passed in memory.
3008 // Memory was handled previously, ComplexX87 and X87 should
3010 // which is passed in memory.
3011 case Memory:
3023 if (Lo == NoClass) // Pass HighPart at offset 8 in memory.
3028 // memory), except in situations involving unions.
3033 if (Lo == NoClass) // Pass HighPart at offset 8 in memory.
3318 // Emit code to load the value if it was passed in memory.
3404 // passes them indirectly through memory.
3710 // floating-point value) to avoid pushing them to memory on function
4011 // back-end to store the argument to memory.
4360 // Large vector types should be returned via memory.
4610 // Otherwise the object is contiguous in memory.
5192 // Large vector types should be returned via memory.
5240 // Otherwise return in memory.
5786 // Emit code to load the value if it was passed in memory.
6445 // Large vector types should be returned via memory.