[compiler-rt] [clang] [clang-tools-extra] [llvm] [InferAddressSpaces] Fix constant replace to avoid modifying other functions (PR #70611)

Wenju He via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 1 21:15:52 PDT 2023


================
@@ -334,6 +335,15 @@ template<> struct simplify_type<User::const_op_iterator> {
   }
 };
 
+template <> struct GraphTraits<User *> {
----------------
wenju-he wrote:

I measured llvm-project compile time impact of this change to llvm/IR/User.h on intel icx 8358 cpu.

Build command:
`
cmake -GNinja -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra" -DLLVM_INCLUDE_TESTS=ON -DLLVM_BUILD_TESTS=ON -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release ../llvm -DBUILD_SHARED_LIBS=OFF -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" -DCMAKE_INSTALL_PREFIX=install && ninja -j40
`

Ref: (https://github.com/llvm/llvm-project.git c0d78c4232057768b04d3330e581d81544391e68)
Exp: (https://github.com/llvm/llvm-project.git c0d78c4232057768b04d3330e581d81544391e68) + change to User.h

### OS: RHEL9   (note: llvm-project build on this system also builds https://github.com/KhronosGroup/SPIRV-LLVM-Translator as a project inside llvm/project folder)

REF: 
real    10m39.052s
user    398m36.074s
sys     19m26.839s

real    10m39.058s
user    398m31.903s
sys     19m18.405s

EXP:
real    10m39.910s
user    398m55.339s
sys     19m36.278s

real    10m40.319s
user    398m52.378s
sys     19m38.137s

### OS: Ubuntu 22
REF:
real    10m2.783s
user    376m47.038s
sys     18m35.310s

real    10m2.983s
user    376m47.032s
sys     18m46.517s

real    10m3.059s
user    376m52.423s
sys     18m45.694s

EXP:
real    10m2.730s
user    376m46.556s
sys     18m44.566s

real    10m3.007s
user    376m48.369s
sys     18m46.733s

real    10m2.860s
user    376m44.655s
sys     18m51.154s

Summary:
On RHEL9 build time is slowed down by ~1 second. On Ubuntu 22 there is no obvious change of compile time.

@nikic could we add GraphTraits<User *> to User.h since compile time impact is not obvious?

https://github.com/llvm/llvm-project/pull/70611


More information about the cfe-commits mailing list