1. Dec 28, 2021
    • Gulfem Savrun Yeniceri's avatar
      [profile] Fix writing binary id into profiles · f261e258
      Gulfem Savrun Yeniceri authored
      This patch adds support to read all the PT_NOTE segments in the
      executable to find the binary ids. Previously, it was only reading
      the first PT_NOTE segment, and this was missing the cases where
      binary id is in the following segments. As a result, binary-id.c
      and binary-id-padding.c test were failing in the following cases:
      1) sanitizer-x86_64-linux bot
         https://lab.llvm.org/staging/#/builders/97
      2) OpenSuse Tumbleweed
         https://github.com/llvm/llvm-project/issues/52695
      
      Differential Revision: https://reviews.llvm.org/D115830
      f261e258
    • Sanjay Patel's avatar
      [Analysis] remove unneeded casts; NFC · 773ab3c6
      Sanjay Patel authored
      The callee does the casting too; this matches a plain call later in the same function for 'shl'.
      773ab3c6
    • Sanjay Patel's avatar
      c49dcb48
    • Shilei Tian's avatar
      [OpenMP][Plugin] Introduce generic resource pool · a697a0a4
      Shilei Tian authored
      Currently CUDA streams are managed by `StreamManagerTy`. It works very well. Now
      we have the need that some resources, such as CUDA stream and event, will be
      hold by `libomptarget`. It is always good to buffer those resources. What's more
      important, given the way that `libomptarget` and plugins are connected, we cannot
      make sure whether plugins are still alive when `libomptarget` is destroyed. That
      leads to an issue that those resouces hold by `libomptarget` might not be
      released correctly. As a result, we need an unified management of all the resources
      that can be shared between `libomptarget` and plugins.
      
      `ResourcePoolTy` is designed to manage the type of resource for one device.
      It has to work with an allocator which is supposed to provide `create` and
      `destroy`. In this way, when the plugin is destroyed, we can make sure that
      all resources allocated from native runtime library will be released correctly,
      no matter whether `libomptarget` starts its destroy.
      
      Reviewed By: ye-luo
      
      Differential Revision: https://reviews.llvm.org/D111954
      a697a0a4
  2. Dec 27, 2021