[flang] Generate TBAA information.
This is initial version of TBAA information generation for Flang generated IR. The desired behavior is that TBAA type descriptors are generated for FIR types during FIR to LLVM types conversion, and then TBAA access tags are attached to memory accessing operations when they are converted to LLVM IR dialect. In the initial version the type conversion is not producing TBAA type descriptors, and all memory accesses are just partitioned into two sets of box and non-box accesses, which can never alias. The TBAA generation is enabled by default at >O0 optimization levels. TBAA generation may also be enabled via `apply-tbaa` option of `fir-to-llvm-ir` conversion pass. `-mllvm -disable-tbaa` engineering option allows disabling TBAA generation to override Flang's default (e.g. when -O1 is used). SPEC CPU2006/437.leslie3d speeds up by more than 2x on Icelake. Reviewed By: jeanPerier, clementval Differential Revision: https://reviews.llvm.org/D141820
Loading
Please sign in to comment