Skip to content
  1. Nov 14, 2019
    • Reid Kleckner's avatar
      Sink all InitializePasses.h includes · 05da2fe5
      Reid Kleckner authored
      This file lists every pass in LLVM, and is included by Pass.h, which is
      very popular. Every time we add, remove, or rename a pass in LLVM, it
      caused lots of recompilation.
      
      I found this fact by looking at this table, which is sorted by the
      number of times a file was changed over the last 100,000 git commits
      multiplied by the number of object files that depend on it in the
      current checkout:
        recompiles    touches affected_files  header
        342380        95      3604    llvm/include/llvm/ADT/STLExtras.h
        314730        234     1345    llvm/include/llvm/InitializePasses.h
        307036        118     2602    llvm/include/llvm/ADT/APInt.h
        213049        59      3611    llvm/include/llvm/Support/MathExtras.h
        170422        47      3626    llvm/include/llvm/Support/Compiler.h
        162225        45      3605    llvm/include/llvm/ADT/Optional.h
        158319        63      2513    llvm/include/llvm/ADT/Triple.h
        140322        39      3598    llvm/include/llvm/ADT/StringRef.h
        137647        59      2333    llvm/include/llvm/Support/Error.h
        131619        73      1803    llvm/include/llvm/Support/FileSystem.h
      
      Before this change, touching InitializePasses.h would cause 1345 files
      to recompile. After this change, touching it only causes 550 compiles in
      an incremental rebuild.
      
      Reviewers: bkramer, asbirlea, bollu, jdoerfert
      
      Differential Revision: https://reviews.llvm.org/D70211
      05da2fe5
    • Reid Kleckner's avatar
      Forward declare Optional<T> in STLExtras.h · a36f3163
      Reid Kleckner authored
      WIP stats
      a36f3163
    • Stanislav Mekhanoshin's avatar
      af7d4022
    • Reid Kleckner's avatar
      Sink MachineFunction private method out of line · 364d1785
      Reid Kleckner authored
      This method is private and only called from this file and doesn't need
      to be inline. Saves a TargetMachine.h include in MachineFunction.h, a
      popular header. The include was introduced in 98603a81 despite the
      forward decl of LLVMTargetMachine.
      364d1785
    • Craig Topper's avatar
      [X86] Don't treat mxcsr as a register name when parsing MS inline assembly. · 188d92b9
      Craig Topper authored
      No instruction takes mxcsr as a an operand so we should always
      treat it as an identifier name.
      188d92b9
  2. Nov 13, 2019
Loading