1. Sep 01, 2021
    • Philip Reames's avatar
      [AlignFromAssume] Bailout w/non-constant alignments (pr51680) · 9b45fd90
      Philip Reames authored
      This is a bailout for pr51680.  This pass appears to assume that the alignment operand to an align tag on an assume bundle is constant.  This doesn't appear to be required anywhere, and clang happily generates non-constant alignments for cases such as this case taken from the bug report:
      
      // clang -cc1 -triple powerpc64-- -S -O1 opal_pci-min.c
      extern int a[];
      long *b;
      long c;
      void *d(long, int *, int, long, long, long) __attribute__((__alloc_align__(6)));
      void e() {
        b = d(c, a, 0, 0, 5, c);
        b[0] = 0;
      }
      
      This was exposed by a SCEV change which allowed a non-constant alignment to reach further into the pass' code.  We could generalize the pass, but for now, let's fix the crash.
      9b45fd90
    • Shilei Tian's avatar
      [OpenMP] Fix task wait doesn't work as expected in serialized team · 8442967f
      Shilei Tian authored
      As discussed in D107121, task wait doesn't work when a regular task T depends on
      a detached task or a hidden helper task T' in a serialized team. The root cause is,
      since the team is serialized, the last task will not be tracked by
      `td_incomplete_child_tasks`. When T' is finished, it first releases its
      dependences, and then decrements its parent counter. So far so good. For the thread
      that is running task wait, if at the moment it is still spinning and trying to
      execute tasks, it is fine because it can detect the new task and execute it.
      However, if it happends to finish the function `flag.execute_tasks(...)`, it will
      be broken because `td_incomplete_child_tasks` is 0 now.
      
      In this patch, we update the rule to track children tasks a little bit. If the
      task team encounters a proxy task or a hidden helper task, all following tasks
      will be tracked.
      
      Reviewed By: AndreyChurbanov
      
      Differential Revision: https://reviews.llvm.org/D107496
      8442967f
    • Sanjay Patel's avatar
      [InstCombine] fix typos in comments; NFC · 6c0181c0
      Sanjay Patel authored
      6c0181c0
  2. Aug 31, 2021