microsoft / llvm-mctoll
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 6% duplication:
    • 34,369 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,313 duplicated lines
  • 433 duplicates
system6% (2,313 lines)
Duplication per Extension
cpp7% (2,313 lines)
Duplication per Component (primary)
ROOT8% (647 lines)
ARM24% (597 lines)
X862% (581 lines)
ARM/DAG19% (446 lines)
RISCV17% (42 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 433 duplicates...
Size#FoldersFilesLinesCode
34 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
976:1019 (3%)
1050:1096 (3%)
view
30 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
697:738 (3%)
765:806 (3%)
view
23 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
570:599 (2%)
838:867 (2%)
view
21 x 2 ARM/DAG
ARM/DAG
InstSelector.cpp
InstSelector.cpp
287:312 (2%)
320:345 (2%)
view
18 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
570:590 (2%)
941:961 (2%)
view
18 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
838:858 (2%)
941:961 (2%)
view
18 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5577:5595 (<1%)
5655:5673 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5538:5556 (<1%)
5616:5634 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5616:5634 (<1%)
5755:5773 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5538:5556 (<1%)
5849:5867 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5538:5556 (<1%)
5802:5820 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5616:5634 (<1%)
5802:5820 (<1%)
view
17 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
902:924 (1%)
1085:1110 (1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5538:5556 (<1%)
5755:5773 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5755:5773 (<1%)
5802:5820 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5616:5634 (<1%)
5849:5867 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5755:5773 (<1%)
5849:5867 (<1%)
view
17 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
5802:5820 (<1%)
5849:5867 (<1%)
view
16 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
860:880 (1%)
1039:1062 (1%)
view
15 x 2 ARM
ARM
ARMInstructionSplitting.cpp
ARMInstructionSplitting.cpp
280:304 (1%)
461:483 (1%)
view
Duplicated Units
The list of top 6 duplicated units.
See data for all 6 unit duplicates...
Size#FoldersFilesLinesCode
13 x 2 ARM
ARM/DAG
ARMMIRevising.cpp
IREmitter.cpp
44:59 
474:489 
view
11 x 2 RISCV
X86
RISCV64ModuleRaiser.cpp
X86ModuleRaiser.cpp
23:38 
23:38 
view
9 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
2361:2370 
2372:2381 
view
7 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
2429:2436 
2438:2445 
view
6 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
2288:2294 
2296:2302 
view
6 x 2 ROOT
ROOT
MachODump.cpp
MachODump.cpp
2393:2399 
2401:2407 
view