1. Feb 29, 2020
  2. Feb 28, 2020
    • Teresa Johnson's avatar
      [Inliner] Inlining should honor nobuiltin attributes · f9ca75f1
      Teresa Johnson authored
      Summary:
      Final patch in series to fix inlining between functions with different
      nobuiltin attributes/options, which was specifically an issue in LTO.
      See discussion on D61634 for background.
      
      The prior patch in this series (D67923) enabled per-Function TLI
      construction that identified the nobuiltin attributes.
      
      Here I have allowed inlining to proceed if the callee's nobuiltins are a
      subset of the caller's nobuiltins, but not in the reverse case, which
      should be conservatively correct. This is controlled by a new option,
      -inline-caller-superset-nobuiltin, which is enabled by default.
      
      Reviewers: hfinkel, gchatelet, chandlerc, davidxl
      
      Subscribers: arsenm, jvesely, nhaehnle, mehdi_amini, eraman, hiraditya, haicheng, dexonsmith, kerbowa, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D74162
      f9ca75f1