microsoft / DirectXShaderCompiler
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

File Change Frequency Overall
File Change Frequency Overall
The number of recorded file updates
  • There are 3,692 files with 1,462,927 lines of code.
    • 17 files changed more than 100 times (68,866 lines of code)
    • 26 files changed 51-100 times (33,740 lines of code)
    • 80 files changed 21-50 times (78,271 lines of code)
    • 261 files changed 6-20 times (231,312 lines of code)
    • 3,308 files changed 1-5 times (1,050,738 lines of code)
4% | 2% | 5% | 15% | 71%
Legend:
101+
51-100
21-50
6-20
1-5

Detailed data...

File Change Frequency per File Extension
ll, cpp, hlsl, h, c, txt, py, s, rst, cfg, hlsli, xml, inc, cmake, cu, yaml, in, cs, sh, cc, cl, cmd, md, pl, targets, asm, json, bat, resx, yml, js, ps1, html, clang-format, inl, TXT, plist, hpp, css, natvis, man, gitignore, el, clang-tidy, regex, S, arcconfig, csproj, gitmodules, xsd, gitattributes, applescript, ini, obj
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
cpp6% | 2% | 5% | 18% | 67%
py18% | 8% | 4% | 2% | 65%
h<1% | <1% | 3% | 8% | 86%
cs0% | 0% | 37% | 24% | 38%
cmd0% | 0% | 83% | 0% | 16%
yml0% | 0% | 26% | 50% | 23%
cmake0% | 0% | 0% | 56% | 43%
inl0% | 0% | 0% | 100% | 0%
inc0% | 0% | 0% | 10% | 89%
c0% | 0% | 0% | <1% | 99%
cc0% | 0% | 0% | 0% | 100%
hlsl0% | 0% | 0% | 0% | 100%
hpp0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
man0% | 0% | 0% | 0% | 100%
TXT0% | 0% | 0% | 0% | 100%
hlsli0% | 0% | 0% | 0% | 100%
cfg0% | 0% | 0% | 0% | 100%
applescript0% | 0% | 0% | 0% | 0%
el0% | 0% | 0% | 0% | 0%
pl0% | 0% | 0% | 0% | 0%
natvis0% | 0% | 0% | 0% | 0%
targets0% | 0% | 0% | 0% | 0%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
tools/clang6% | 2% | 7% | 23% | 61%
lib/HLSL38% | 34% | 2% | 16% | 9%
lib/Transforms4% | <1% | 4% | 10% | 79%
utils/hct30% | 13% | 26% | 4% | 24%
lib/DxcSupport29% | 0% | 41% | 28% | <1%
include/dxc1% | 1% | 42% | 30% | 24%
lib/DXIL0% | 23% | 39% | 27% | 9%
lib/DxilContainer0% | 83% | 0% | 3% | 13%
lib/DxilPIXPasses0% | 0% | 34% | 59% | 5%
include/llvm0% | 0% | <1% | 1% | 97%
ROOT0% | 0% | 25% | 49% | 24%
projects/dxilconv0% | 0% | 0% | 38% | 61%
lib/Support0% | 0% | 0% | 16% | 83%
lib/IR0% | 0% | 0% | 15% | 84%
lib/Bitcode0% | 0% | 0% | 55% | 44%
lib/DxilDia0% | 0% | 0% | 40% | 59%
cmake/modules0% | 0% | 0% | 94% | 5%
lib/DxilRootSignature0% | 0% | 0% | 89% | 10%
lib/DxrFallback0% | 0% | 0% | 26% | 73%
lib/Analysis0% | 0% | 0% | 3% | 96%
lib/MSSupport0% | 0% | 0% | 100% | 0%
tools/opt0% | 0% | 0% | 59% | 40%
tools/dxexp0% | 0% | 0% | 100% | 0%
utils/version0% | 0% | 0% | 1% | 98%
lib/CodeGen0% | 0% | 0% | 0% | 100%
utils/unittest0% | 0% | 0% | 0% | 100%
utils/TableGen0% | 0% | 0% | 0% | 100%
lib/MC0% | 0% | 0% | 0% | 100%
lib/ExecutionEngine0% | 0% | 0% | 0% | 100%
unittests/ADT0% | 0% | 0% | 0% | 100%
tools/llvm-objdump0% | 0% | 0% | 0% | 100%
unittests/Support0% | 0% | 0% | 0% | 100%
lib/Miniz0% | 0% | 0% | 0% | 100%
lib/Object0% | 0% | 0% | 0% | 100%
tools/llvm-readobj0% | 0% | 0% | 0% | 100%
unittests/IR0% | 0% | 0% | 0% | 100%
lib/AsmParser0% | 0% | 0% | 0% | 100%
lib/DebugInfo0% | 0% | 0% | 0% | 100%
lib/TableGen0% | 0% | 0% | 0% | 100%
tools/dsymutil0% | 0% | 0% | 0% | 100%
utils/lit0% | 0% | 0% | 0% | 100%
lib/ProfileData0% | 0% | 0% | 0% | 100%
include/llvm-c0% | 0% | 0% | 0% | 100%
tools/lli0% | 0% | 0% | 0% | 100%
tools/llvm-pdbdump0% | 0% | 0% | 0% | 100%
tools/llvm-cov0% | 0% | 0% | 0% | 100%
lib/Fuzzer0% | 0% | 0% | 0% | 100%
lib/Linker0% | 0% | 0% | 0% | 100%
unittests/Analysis0% | 0% | 0% | 0% | 100%
tools/llvm-nm0% | 0% | 0% | 0% | 100%
tools/yaml2obj0% | 0% | 0% | 0% | 100%
lib/LTO0% | 0% | 0% | 0% | 100%
lib/Option0% | 0% | 0% | 0% | 100%
utils/FileCheck0% | 0% | 0% | 0% | 100%
utils/llvm-build0% | 0% | 0% | 0% | 100%
tools/llvm-diff0% | 0% | 0% | 0% | 100%
lib/Target0% | 0% | 0% | 0% | 100%
unittests/Transforms0% | 0% | 0% | 0% | 100%
include/miniz0% | 0% | 0% | 0% | 100%
tools/obj2yaml0% | 0% | 0% | 0% | 100%
tools/llvm-symbolizer0% | 0% | 0% | 0% | 100%
utils0% | 0% | 0% | 0% | 100%
tools/llvm-mc0% | 0% | 0% | 0% | 100%
tools/llvm-size0% | 0% | 0% | 0% | 100%
tools/llvm-bcanalyzer0% | 0% | 0% | 0% | 100%
tools/llvm-cxxdump0% | 0% | 0% | 0% | 100%
tools/llvm-stress0% | 0% | 0% | 0% | 100%
cmake0% | 0% | 0% | 0% | 100%
unittests/CodeGen0% | 0% | 0% | 0% | 100%
tools/llvm-rtdyld0% | 0% | 0% | 0% | 100%
unittests/DebugInfo0% | 0% | 0% | 0% | 100%
tools/llvm-c-test0% | 0% | 0% | 0% | 100%
tools/verify-uselistorder0% | 0% | 0% | 0% | 100%
utils/KillTheDoctor0% | 0% | 0% | 0% | 100%
utils/PerfectShuffle0% | 0% | 0% | 0% | 100%
lib/DxcBindingTable0% | 0% | 0% | 0% | 100%
tools/macho-dump0% | 0% | 0% | 0% | 100%
unittests/ProfileData0% | 0% | 0% | 0% | 100%
lib/Passes0% | 0% | 0% | 0% | 100%
tools/llc0% | 0% | 0% | 0% | 100%
tools/llvm-config0% | 0% | 0% | 0% | 100%
tools/lto0% | 0% | 0% | 0% | 100%
unittests/Bitcode0% | 0% | 0% | 0% | 100%
tools/llvm-profdata0% | 0% | 0% | 0% | 100%
tools/llvm-extract0% | 0% | 0% | 0% | 100%
tools/llvm-lto0% | 0% | 0% | 0% | 100%
utils/release0% | 0% | 0% | 0% | 100%
utils/yaml-bench0% | 0% | 0% | 0% | 100%
lib/PassPrinters0% | 0% | 0% | 0% | 100%
unittests/Option0% | 0% | 0% | 0% | 100%
tools/llvm-dis0% | 0% | 0% | 0% | 100%
unittests/Linker0% | 0% | 0% | 0% | 100%
projects/include0% | 0% | 0% | 0% | 100%
tools/llvm-mcmarkup0% | 0% | 0% | 0% | 100%
tools/llvm-link0% | 0% | 0% | 0% | 100%
unittests/MC0% | 0% | 0% | 0% | 100%
utils/lint0% | 0% | 0% | 0% | 100%
tools/llvm-dwarfdump0% | 0% | 0% | 0% | 100%
lib/IRReader0% | 0% | 0% | 0% | 100%
tools/llvm-as0% | 0% | 0% | 0% | 100%
utils/testgen0% | 0% | 0% | 0% | 100%
azure-pipelines0% | 0% | 0% | 0% | 100%
unittests/AsmParser0% | 0% | 0% | 0% | 100%
utils/not0% | 0% | 0% | 0% | 100%
utils/llvm-lit0% | 0% | 0% | 0% | 100%
utils/count0% | 0% | 0% | 0% | 100%
utils/fpcmp0% | 0% | 0% | 0% | 100%
cmake/caches0% | 0% | 0% | 0% | 100%
tools/llvm-shlib0% | 0% | 0% | 0% | 100%
cmake/platforms0% | 0% | 0% | 0% | 0%
tools/msbuild0% | 0% | 0% | 0% | 0%
Most Frequently Changed Files (Top 20)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes
CompilerTest.cpp
in tools/clang/unittests/HLSL
3036 61 11 1854 231
CGHLSLMS.cpp
in tools/clang/lib/CodeGen
5172 94 11 1854 229
DeclResultIdMapper.cpp
in tools/clang/lib/SPIRV
2939 58 5 1655 195
SemaHLSL.cpp
in tools/clang/lib/Sema
11000 249 5 1839 195
HLOperationLower.cpp
in lib/HLSL
6797 72 10 1844 194
dxcompilerobj.cpp
in tools/clang/tools/dxcompiler
1460 33 11 1843 180
hctdb.py
in utils/hct
2784 45 6 1853 179
ScalarReplAggregatesHLSL.cpp
in lib/Transforms/Scalar
4756 115 6 1847 175
DxilValidation.cpp
in lib/HLSL
5152 114 3 1853 166
CodeGenSpirvTest.cpp
in tools/clang/unittests/SPIRV
2696 4 5 1141 152
SpirvEmitter.cpp
in tools/clang/lib/SPIRV
9396 82 5 1141 141
DxilGenerationPass.cpp
in lib/HLSL
732 20 136 1854 137
HLSLOptions.cpp
in lib/DxcSupport
945 20 11 1829 131
ValidationTest.cpp
in tools/clang/unittests/HLSL
3533 52 11 1853 118
DeclResultIdMapper.h
in tools/clang/lib/SPIRV
415 39 10 1641 112
HLSLOptions.h
in include/dxc/Support
229 3 11 1829 105
ExecutionTest.cpp
in tools/clang/unittests/HLSL
7824 144 228 1853 101
DxcOptimizer.cpp
in lib/HLSL
389 21 90 1829 91
PassManagerBuilder.cpp
in lib/Transforms/IPO
590 14 6 1839 90
dxcdisassembler.cpp
in tools/clang/tools/dxcompiler
1566 28 90 1692 86