Lines Matching full:lowering
40 // IR pass. Several different lowering are chosen between to meet requirements
73 // The "module" lowering implemented here finds LDS variables which are used by
77 // The "table" lowering implemented here has three components.
89 // "Kernel" lowering is only applicable for variables that are unambiguously
94 // thus most easily used as part of the hybrid lowering strategy.
96 // Hybrid lowering is a mixture of the above. It uses the zero cost kernel
97 // lowering where it can. It lowers the variable accessed by the greatest
106 // affected by any lowering for kernels that do.
112 // use LDS are expected to hit the "Kernel" lowering strategy
123 // The corresponding optimisation for "kernel" lowering where the table lookup
134 // Lowering is split between this IR pass and the back end. This pass chooses
160 // uses of the "kernel" style faster lowering and reduce the size of the lookup
164 // lowering is expected to work for graphics if the isKernel test is changed.
168 // shortly after the machine function lowering of LDS would help break the name
174 // intrinsic that lasts until after the LDS frame lowering, it should be
227 cl::desc("Specify lowering strategy for function LDS access:"), cl::Hidden,
578 report_fatal_error("Unimplemented LDS lowering for > 2**32 kernels"); in assignLDSKernelIDToEachKernel()
661 // the distinct lowering strategies. in partitionVariablesIntoIndirectStrategies()
676 // of the per-kernel lowering). in lowerModuleScopeStructVariables()