1. [OpenMP] Add using bit flags to select Libomptarget Information (details)
  2. [LoopDeletion] Break backedge of loops when known not taken (details)
Commit fe5d51a4897c26696fede55e120c912df60cd3f4 by huberjn
[OpenMP] Add using bit flags to select Libomptarget Information

This patch adds more fine-grained support over which information is output from the libomptarget runtime when run with the environment variable LIBOMPTARGET_INFO set. An extensible set of flags can be used to pick and choose which information the user is interested in.

Reviewers: jdoerfert JonChesterfield grokos

Differential Revision:
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
The file was modifiedopenmp/libomptarget/test/offloading/info.c
The file was modifiedopenmp/libomptarget/include/SourceInfo.h
The file was modifiedopenmp/libomptarget/src/private.h
The file was modifiedopenmp/libomptarget/src/interface.cpp
The file was modifiedopenmp/libomptarget/src/device.cpp
The file was modifiedopenmp/libomptarget/include/Debug.h
Commit dd6bb367d19e3bf18353e40de54d35480999a930 by listmail
[LoopDeletion] Break backedge of loops when known not taken

The basic idea is that if SCEV can prove the backedge isn't taken, we can go ahead and get rid of the backedge (and thus the loop) while leaving the rest of the control in place. This nicely handles cases with dispatch between multiple exits and internal side effects.

Differential Revision:
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was addedllvm/test/Transforms/LoopDeletion/zero-btc.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopDeletion.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/exit_value_test2.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/X86/pr45360.ll
The file was modifiedllvm/test/Transforms/LoopDeletion/update-scev.ll