unknown commited on
Commit
81b9afd
·
1 Parent(s): bd3171f
README.md CHANGED
@@ -51,10 +51,11 @@ VEGA_AE
51
 
52
  ## 4. Fine-Tuning
53
 
54
- Run fine-tuning with:
55
  ```
56
  $ bash run_fine_tuning.sh
57
  ```
 
58
  Customize parameters for fine-tuning by modifying following options in the ```run_fine_tuning.sh```.
59
  ```
60
  --model_name_or_path ../../saved_models/UnixCoder \
@@ -75,11 +76,11 @@ The fine-tuned model will be saved in ```--output_dir```.
75
 
76
  We have provided a fine-tuned model in ```./saved_models/Fine_Tuned_Model```.
77
 
78
- We have also provided a script fot function test, which only generates a single function for RI5CY, taking less than 3 minutes with 8 V100 GPU.
79
 
80
 
81
 
82
- Run function test with:
83
 
84
  ```
85
  $ bash run_function_test.sh
@@ -96,7 +97,7 @@ $ " Finished Function Inferencing : xxx secs"
96
 
97
  The inference result will be saved in ```--output_dir/result.jsonl```.
98
 
99
- Run code generation with:
100
 
101
  ```
102
  $ bash run_test.sh
@@ -145,9 +146,9 @@ We provide the scripts to reproduce each Figure/Table from the paper, along with
145
  | ./Scripts/Exp/Accuracy/calculate_purple.py | Calculate the the percentage of functions accurately synthesized from the statements of various existing targets (Purple Bar in Fig.8). | ./Scripts/Exp/Accuracy/fig8_purple.csv | Fig.8 |
146
  | ./Scripts/Exp/Accuracy/calculate_accuracy.py | Calculate the percentage of three types of error. | ./Scripts/Exp/Accuracy/err_percentage.csv | Table.2 |
147
  | ./Scripts/Exp/ForkFlow/calculate_forkflow.py | Calculate the statement-level accracy of VEGA and ForkFlow. | ./Scripts/Exp/ForkFlow/forkflow_result.csv | Fig.9 |
148
- | ./Scripts/Exp/ForkFlow/calculate_forkflow.py | Calculate the number of accurate statements of VEGA and ForkFlow. | ./Scripts/Exp/ForkFlow/mod_lines.csv | Table.3 |
149
- | - | Recorded time required by Developer A and B to modify the VEGA-generated RISC-V backend. | ./Scripts/Exp/Correction/Correction_Time.xlsx | Table. 4 |
150
- | - | Recorded time required for LLVM-Base (-O0), LLVM-Base (-O3), and LLVM-VEGA (-O3) to pass benchmarks. | ./Scripts/Exp/Performance/BenchMark.xlsx | Fig. 10 |
151
  ### 6.1 Results for Fig. 7 in Sec. 4.2
152
 
153
  In the code generation process, we set a batch size of 256 on 8 Nvidia Tesla V100 GPU (each with 16GB memory), meaning each batch contains 256 statements. Since each batch may include statements from different function modules, we did not directly measure the generation time for each function modules of three targets (RISC-V, RI5CY, xCORE) during execution. Instead, we calculated the average inference time of each batch (25 seconds) and then derived the inference time of each statement (25/256 seconds). With the total number of statements within each function module of each target, we subsequently calculated the total inference time required for each function module of each target.
@@ -296,23 +297,34 @@ $ cat ./Scripts/Exp/ForkFlow/mod_lines.csv
296
 
297
  ### 6.6 Results for Table. 4 in Sec. 4.2
298
 
299
- The data in Table. 4 record the time required by two developers to modify the VEGA-generated RISC-V backend. As this is a human-based experiment, we can only provide the recorded time for modifying each function within the VEGA-generated RISC-V backend.
300
 
301
- - Results:
 
 
 
302
  ```
303
- ./Scripts/Exp/Correction/Correction_Time.xlsx
304
  ```
305
 
306
- This file contains two sheets, each corresponding to the time required by Developer A and Developer B to modify the VEGA-generated RISC-V backend. Each sheet includes four columns: the first three indicate the function module, file, and function name of each function in the VEGA-generated RISC-V backend, while the final column specifies the time spent modifying each function, measured in seconds. By summing the data in each sheet according to function modules, we calculated the total time (in hours) that Developer A and Developer B spent on each module.
 
 
 
307
 
308
  ### 6.7 Results for Fig. 10 in Sec. 4.3
309
 
310
- Due to restrictions associated with the commercial license, we are unable to provide the source code of the SPEC 2017 CPU benchmark directly used in this experiment. Furthermore, the testing duration for SPEC 2017 CPU is highly time-consuming, requiring approximately 565 hours. To address these constraints, we provide our recorded experimental data, which can be accessed at:
311
 
 
312
 
313
- - Results:
 
314
  ```
315
- ./Scripts/Exp/Performance/BenchMark.xlsx
316
  ```
317
 
318
- Each sheet in this recorded data is named with the experimental target and benchmark tested, e.g., "RISCV (SPEC 2017CPU)". We recorded the time required for LLVM-Base (-O0), LLVM-Base (-O3), and LLVM-VEGA (-O3) to successfully pass each test case, and calculated the corresponding speedup ratios respectively.
 
 
 
 
51
 
52
  ## 4. Fine-Tuning
53
 
54
+ **Run fine-tuning with:**
55
  ```
56
  $ bash run_fine_tuning.sh
57
  ```
58
+
59
  Customize parameters for fine-tuning by modifying following options in the ```run_fine_tuning.sh```.
60
  ```
61
  --model_name_or_path ../../saved_models/UnixCoder \
 
76
 
77
  We have provided a fine-tuned model in ```./saved_models/Fine_Tuned_Model```.
78
 
79
+ We have also provided a script fot functionality test, which only generates a single function for RI5CY, taking less than 3 minutes with 8 V100 GPU.
80
 
81
 
82
 
83
+ **Run functionality test with:**
84
 
85
  ```
86
  $ bash run_function_test.sh
 
97
 
98
  The inference result will be saved in ```--output_dir/result.jsonl```.
99
 
100
+ **Run code generation with:**
101
 
102
  ```
103
  $ bash run_test.sh
 
146
  | ./Scripts/Exp/Accuracy/calculate_purple.py | Calculate the the percentage of functions accurately synthesized from the statements of various existing targets (Purple Bar in Fig.8). | ./Scripts/Exp/Accuracy/fig8_purple.csv | Fig.8 |
147
  | ./Scripts/Exp/Accuracy/calculate_accuracy.py | Calculate the percentage of three types of error. | ./Scripts/Exp/Accuracy/err_percentage.csv | Table.2 |
148
  | ./Scripts/Exp/ForkFlow/calculate_forkflow.py | Calculate the statement-level accracy of VEGA and ForkFlow. | ./Scripts/Exp/ForkFlow/forkflow_result.csv | Fig.9 |
149
+ | ./Scripts/Exp/ForkFlow/calculate_forkflow.py | Calculate the number of accurate statements of VEGA. | ./Scripts/Exp/ForkFlow/mod_lines.csv | Table.3 |
150
+ | ./Scripts/Exp/Correction/calculate_correction.py | Calculate time required by two developers to modify the VEGA-generated RISC-V backend. | ./Scripts/Exp/Correction/Correction.csv | Table. 4 |
151
+ | ./Scripts/Exp/Performance/calculate_perf.py | Calculate the speedup of LLVM-Base (-O3),and LLVM-VEGA (-O3) over LLVM-Base (-O0). | ./Scripts/Exp/Performance/Perf.csv | Fig. 10 |
152
  ### 6.1 Results for Fig. 7 in Sec. 4.2
153
 
154
  In the code generation process, we set a batch size of 256 on 8 Nvidia Tesla V100 GPU (each with 16GB memory), meaning each batch contains 256 statements. Since each batch may include statements from different function modules, we did not directly measure the generation time for each function modules of three targets (RISC-V, RI5CY, xCORE) during execution. Instead, we calculated the average inference time of each batch (25 seconds) and then derived the inference time of each statement (25/256 seconds). With the total number of statements within each function module of each target, we subsequently calculated the total inference time required for each function module of each target.
 
297
 
298
  ### 6.6 Results for Table. 4 in Sec. 4.2
299
 
300
+ The data in Table. 4 show the time two developers needed to modify the VEGA-generated RISC-V backend. As a human-based experiment, only the recorded modification times for each function are record.
301
 
302
+ By executing the following script, the time for Developer A and B to modify each function module in the VEGA-generated RISC-V backend will be automatically calculated:
303
+
304
+ - Command:
305
+
306
  ```
307
+ $ python ./Scripts/Exp/Correction/calculate_correction.py
308
  ```
309
 
310
+ - Results:
311
+ ```
312
+ $ cat ./Scripts/Exp/Correction/Correction.csv
313
+ ```
314
 
315
  ### 6.7 Results for Fig. 10 in Sec. 4.3
316
 
317
+ Due to commercial licensing restrictions, we cannot provide the source code for the SPEC 2017 CPU benchmark used in this experiment. Additionally, testing all benchmarks including SPEC 2017 CPU is time-intensive, requiring around 565 hours in total. To address these constraints, we provide our recorded experimental data.
318
 
319
+ By executing the following script, the speedup for VEGA-generated LLVM backend (LLVM-VEGA) and the offical LLVM backend (LLVM-Base) will be automatically calculated repectively:
320
 
321
+
322
+ - Command:
323
  ```
324
+ $ python ./Scripts/Exp/Performance/calculate_perf.py
325
  ```
326
 
327
+ - Results:
328
+ ```
329
+ $ cat ./Scripts/Exp/Performance/Perf.csv
330
+ ```
Scripts/Exp/Correction/Correction_Time.xlsx DELETED
Binary file (46.2 kB)
 
Scripts/Exp/Correction/Dev_A.csv ADDED
@@ -0,0 +1,569 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Module,File,Func,Time (Secs)
2
+ allocation,RegisterBankInfo,RegisterBankInfo,3
3
+ allocation,RegisterInfo,eliminateFrameIndex,943
4
+ allocation,RegisterInfo,getCalleeSavedRegs,86
5
+ allocation,RegisterInfo,getCallPreservedMask,106
6
+ allocation,RegisterInfo,getFrameRegister,6
7
+ allocation,RegisterInfo,getNoPreservedMask,3
8
+ allocation,RegisterInfo,getPointerRegClass,7
9
+ allocation,RegisterInfo,getReservedRegs,3
10
+ allocation,RegisterInfo,hasReservedSpillSlot,245
11
+ allocation,RegisterInfo,isAsmClobberable,12
12
+ allocation,RegisterInfo,isConstantPhysReg,10
13
+ allocation,RegisterInfo,RegisterInfo,28
14
+ allocation,RegisterInfo,requiresFrameIndexScavenging,9
15
+ allocation,RegisterInfo,requiresRegisterScavenging,5
16
+ Assembler,AsmParser,addCSRSystemRegisterOperands,5
17
+ Assembler,AsmParser,addExpr,21
18
+ Assembler,AsmParser,addFenceArgOperands,346
19
+ Assembler,AsmParser,addFRMArgOperands,7
20
+ Assembler,AsmParser,addImmOperands,5
21
+ Assembler,AsmParser,addRegOperands,4
22
+ Assembler,AsmParser,addVTypeIOperands,5
23
+ Assembler,AsmParser,AsmParser,8
24
+ Assembler,AsmParser,classifySymbolRef,235
25
+ Assembler,AsmParser,convertFPR64ToFPR16,10
26
+ Assembler,AsmParser,convertFPR64ToFPR32,17
27
+ Assembler,AsmParser,createImm,14
28
+ Assembler,AsmParser,createReg,19
29
+ Assembler,AsmParser,createSysReg,21
30
+ Assembler,AsmParser,createToken,4
31
+ Assembler,AsmParser,createVType,5
32
+ Assembler,AsmParser,defaultMaskRegOp,157
33
+ Assembler,AsmParser,emitToStreamer,18
34
+ Assembler,AsmParser,evaluateConstantImm,31
35
+ Assembler,AsmParser,generateImmOutOfRangeError,28
36
+ Assembler,AsmParser,getEndLoc,9
37
+ Assembler,AsmParser,getFeatureBits,5
38
+ Assembler,AsmParser,getImm,8
39
+ Assembler,AsmParser,getLoc,7
40
+ Assembler,AsmParser,getReg,11
41
+ Assembler,AsmParser,getRoundingMode,979
42
+ Assembler,AsmParser,getStartLoc,2
43
+ Assembler,AsmParser,getSysReg,6
44
+ Assembler,AsmParser,getTargetStreamer,5
45
+ Assembler,AsmParser,getToken,1
46
+ Assembler,AsmParser,getVType,4
47
+ Assembler,AsmParser,isBareSimmNLsb0,1172
48
+ Assembler,AsmParser,isBareSymbol,332
49
+ Assembler,AsmParser,isCallSymbol,130
50
+ Assembler,AsmParser,isCLUIImm,359
51
+ Assembler,AsmParser,isCSRSystemRegister,9
52
+ Assembler,AsmParser,isFenceArg,696
53
+ Assembler,AsmParser,isFRMArg,380
54
+ Assembler,AsmParser,isGPR,22
55
+ Assembler,AsmParser,isImm,6
56
+ Assembler,AsmParser,isImmXLenLI,496
57
+ Assembler,AsmParser,isMem,9
58
+ Assembler,AsmParser,isPseudoJumpSymbol,34
59
+ Assembler,AsmParser,isReg,2
60
+ Assembler,AsmParser,isRV32E,5
61
+ Assembler,AsmParser,isRV64,3
62
+ Assembler,AsmParser,isRV64-2,3
63
+ Assembler,AsmParser,isSImm10Lsb0000NonZero,240
64
+ Assembler,AsmParser,isSImm12,93
65
+ Assembler,AsmParser,isSImm12Lsb0,56
66
+ Assembler,AsmParser,isSImm13Lsb0,12
67
+ Assembler,AsmParser,isSImm21Lsb0JAL,32
68
+ Assembler,AsmParser,isSImm5,46
69
+ Assembler,AsmParser,isSImm5Plus1,16
70
+ Assembler,AsmParser,isSImm6,17
71
+ Assembler,AsmParser,isSImm6NonZero,3
72
+ Assembler,AsmParser,isSImm9Lsb0,17
73
+ Assembler,AsmParser,isSystemRegister,1
74
+ Assembler,AsmParser,isToken,2
75
+ Assembler,AsmParser,isTPRelAddSymbol,164
76
+ Assembler,AsmParser,isUImm10Lsb00NonZero,30
77
+ Assembler,AsmParser,isUImm20AUIPC,61
78
+ Assembler,AsmParser,isUImm20LUI,25
79
+ Assembler,AsmParser,isUImm5,24
80
+ Assembler,AsmParser,isUImm7Lsb00,28
81
+ Assembler,AsmParser,isUImm8Lsb00,18
82
+ Assembler,AsmParser,isUImm8Lsb000,7
83
+ Assembler,AsmParser,isUImm9Lsb000,6
84
+ Assembler,AsmParser,isUImmLog2XLen,31
85
+ Assembler,AsmParser,isUImmLog2XLenHalf,13
86
+ Assembler,AsmParser,isUImmLog2XLenNonZero,15
87
+ Assembler,AsmParser,isV0Reg,3
88
+ Assembler,AsmParser,isVType,3
89
+ Assembler,AsmParser,isVTypeI,2
90
+ Assembler,AsmParser,KindTy,32
91
+ Assembler,AsmParser,LLVMInitializeAsmParser,19
92
+ Assembler,AsmParser,MatchAndEmitInstruction,2899
93
+ Assembler,AsmParser,matchRegisterNameHelper,344
94
+ Assembler,AsmParser,Operand,18
95
+ Assembler,AsmParser,Operand2,43
96
+ Assembler,AsmParser,ParseRegister,1930
97
+ Assembler,AsmParser,parseAtomicMemOp,457
98
+ Assembler,AsmParser,parseRegister2,27
99
+ Assembler,AsmParser,parseBareSymbol,546
100
+ Assembler,AsmParser,parseCallSymbol,301
101
+ Assembler,AsmParser,parseCSRSystemRegister,703
102
+ Assembler,AsmParser,ParseDirective,77
103
+ Assembler,AsmParser,parseImmediate,234
104
+ Assembler,AsmParser,ParseInstruction,126
105
+ Assembler,AsmParser,parseJALOffset,75
106
+ Assembler,AsmParser,parseMaskReg,321
107
+ Assembler,AsmParser,parseMemOpBaseReg,90
108
+ Assembler,AsmParser,parseOperand,227
109
+ Assembler,AsmParser,parseOperandWithModifier,160
110
+ Assembler,AsmParser,parsePseudoJumpSymbol,335
111
+ Assembler,AsmParser,parseVTypeI,1445
112
+ Assembler,AsmParser,print,11
113
+ Assembler,AsmParser,setFeatureBits,18
114
+ Assembler,AsmParser,tryParseRegister,14
115
+ Assembler,AsmParser,validateTargetOperandClass,189
116
+ Assembler,AsmPrinter,AsmPrinter,31
117
+ Assembler,AsmPrinter,emitAttributes,130
118
+ Assembler,AsmPrinter,emitEndOfAsmFile,11
119
+ Assembler,AsmPrinter,emitInstruction,42
120
+ Assembler,AsmPrinter,emitStartOfAsmFile,27
121
+ Assembler,AsmPrinter,EmitToStreamer,104
122
+ Assembler,AsmPrinter,getPassName,3
123
+ Assembler,AsmPrinter,LLVMInitializeAsmPrinter,21
124
+ Assembler,AsmPrinter,lowerOperand,380
125
+ Assembler,AsmPrinter,PrintAsmMemoryOperand,61
126
+ Assembler,AsmPrinter,PrintAsmOperand,487
127
+ Assembler,AsmPrinter,runOnMachineFunction,52
128
+ Disassembler,Disassembler,addImplySP,185
129
+ Disassembler,Disassembler,createDisassembler,24
130
+ Disassembler,Disassembler,decodeCLUIImmOperand,53
131
+ Disassembler,Disassembler,DecodeFPR16RegisterClass,107
132
+ Disassembler,Disassembler,DecodeFPR32CRegisterClass,39
133
+ Disassembler,Disassembler,DecodeFPR32RegisterClass,27
134
+ Disassembler,Disassembler,DecodeFPR64CRegisterClass,24
135
+ Disassembler,Disassembler,DecodeFPR64RegisterClass,20
136
+ Disassembler,Disassembler,decodeFRMArg,34
137
+ Disassembler,Disassembler,DecodeGPRCRegisterClass,15
138
+ Disassembler,Disassembler,DecodeGPRNoX0RegisterClass,11
139
+ Disassembler,Disassembler,DecodeGPRNoX0X2RegisterClass,26
140
+ Disassembler,Disassembler,DecodeGPRRegisterClass,63
141
+ Disassembler,Disassembler,decodeRVCInstrRdRs1Rs2,118
142
+ Disassembler,Disassembler,decodeRVCInstrRdRs1UImm,299
143
+ Disassembler,Disassembler,decodeRVCInstrRdRs2,34
144
+ Disassembler,Disassembler,decodeRVCInstrRdSImm,179
145
+ Disassembler,Disassembler,decodeRVCInstrSImm,109
146
+ Disassembler,Disassembler,decodeSImmNonZeroOperand,63
147
+ Disassembler,Disassembler,decodeSImmOperand,6
148
+ Disassembler,Disassembler,decodeSImmOperandAndLsl1,14
149
+ Disassembler,Disassembler,decodeUImmNonZeroOperand,35
150
+ Disassembler,Disassembler,decodeUImmOperand,17
151
+ Disassembler,Disassembler,decodeVMaskReg,22
152
+ Disassembler,Disassembler,DecodeVRRegisterClass,12
153
+ Disassembler,Disassembler,Disassembler,21
154
+ Disassembler,Disassembler,getInstruction,539
155
+ Disassembler,Disassembler,LLVMInitializeDisassembler,22
156
+ Emission,AsmBackend,~AsmBackend,2
157
+ Emission,AsmBackend,adjustFixupValue,682
158
+ Emission,AsmBackend,applyFixup,250
159
+ Emission,AsmBackend,AsmBackend,15
160
+ Emission,AsmBackend,createAsmBackend,96
161
+ Emission,AsmBackend,createObjectTargetWriter,9
162
+ Emission,AsmBackend,evaluateTargetFixup,1449
163
+ Emission,AsmBackend,fixupNeedsRelaxation,48
164
+ Emission,AsmBackend,fixupNeedsRelaxationAdvanced,108
165
+ Emission,AsmBackend,getFixupKind,10
166
+ Emission,AsmBackend,getFixupKindInfo,266
167
+ Emission,AsmBackend,getNumFixupKinds,2
168
+ Emission,AsmBackend,getRelaxedOpcode,25
169
+ Emission,AsmBackend,getTargetABI,4
170
+ Emission,AsmBackend,getTargetOptions,5
171
+ Emission,AsmBackend,mayNeedRelaxation,34
172
+ Emission,AsmBackend,relaxInstruction,343
173
+ Emission,AsmBackend,requiresDiffExpressionRelocations,29
174
+ Emission,AsmBackend,setForceRelocs,3
175
+ Emission,AsmBackend,shouldForceRelocation,305
176
+ Emission,AsmBackend,shouldInsertExtraNopBytesForCodeAlign,751
177
+ Emission,AsmBackend,shouldInsertFixupForCodeAlign,542
178
+ Emission,AsmBackend,willForceRelocations,17
179
+ Emission,AsmBackend,writeNopData,368
180
+ Emission,AsmInfo,anchor,1
181
+ Emission,AsmInfo,getExprForFDESymbol,216
182
+ Emission,AsmInfo,MCAsmInfo,64
183
+ Emission,BaseInfo,ABI,23
184
+ Emission,BaseInfo,computeTargetABI,910
185
+ Emission,BaseInfo,FenceField,3
186
+ Emission,BaseInfo,getTargetABI,38
187
+ Emission,BaseInfo,II,401
188
+ Emission,BaseInfo,OperandType,33
189
+ Emission,BaseInfo,RISCVVSEW,7
190
+ Emission,BaseInfo,RoundingMode,29
191
+ Emission,BaseInfo,roundingModeToString,47
192
+ Emission,BaseInfo,RVVConstraintType,9
193
+ Emission,BaseInfo,stringToRoundingMode,26
194
+ Emission,BaseInfo,validate,13
195
+ Emission,BaseInfo,VLMUL,7
196
+ Emission,BaseInfo,VMTs,49
197
+ Emission,ELFObjectWriter,~ELFObjectWriter,1
198
+ Emission,ELFObjectWriter,createELFObjectWriter,18
199
+ Emission,ELFObjectWriter,ELFObjectWriter,16
200
+ Emission,ELFObjectWriter,getRelocType,739
201
+ Emission,ELFObjectWriter,needsRelocateWithSymbol,4
202
+ Emission,ELFStreamer,AttributeItem,7
203
+ Emission,ELFStreamer,AttributeType,5
204
+ Emission,ELFStreamer,calculateContentSize,75
205
+ Emission,ELFStreamer,emitAttribute,71
206
+ Emission,ELFStreamer,emitDirectiveOptionNoPIC,7
207
+ Emission,ELFStreamer,emitDirectiveOptionNoRelax,4
208
+ Emission,ELFStreamer,emitDirectiveOptionNoRVC,16
209
+ Emission,ELFStreamer,emitDirectiveOptionPIC,3
210
+ Emission,ELFStreamer,emitDirectiveOptionPop,2
211
+ Emission,ELFStreamer,emitDirectiveOptionPush,1
212
+ Emission,ELFStreamer,emitDirectiveOptionRelax,3
213
+ Emission,ELFStreamer,emitDirectiveOptionRVC,4
214
+ Emission,ELFStreamer,emitIntTextAttribute,27
215
+ Emission,ELFStreamer,emitTextAttribute,4
216
+ Emission,ELFStreamer,finishAttributeSection,286
217
+ Emission,ELFStreamer,getAttributeItem,56
218
+ Emission,ELFStreamer,getStreamer,11
219
+ Emission,ELFStreamer,setAttributeItem1,32
220
+ Emission,ELFStreamer,setAttributeItem2,19
221
+ Emission,ELFStreamer,setAttributeItems,45
222
+ Emission,ELFStreamer,TargetELFStreamer,567
223
+ Emission,FixupKind,enumFixups,80
224
+ Emission,InstPrinter,applyTargetSpecificCLOption,22
225
+ Emission,InstPrinter,getRegisterName,15
226
+ Emission,InstPrinter,InstPrinter,13
227
+ Emission,InstPrinter,printAtomicMemOp,40
228
+ Emission,InstPrinter,printBranchOperand,54
229
+ Emission,InstPrinter,printCSRSystemRegister,19
230
+ Emission,InstPrinter,printFenceArg,83
231
+ Emission,InstPrinter,printFRMArg,51
232
+ Emission,InstPrinter,printInst,66
233
+ Emission,InstPrinter,printOperand,60
234
+ Emission,InstPrinter,printRegName,2
235
+ Emission,InstPrinter,printVMaskReg,106
236
+ Emission,InstPrinter,printVTypeI,8
237
+ Emission,MatInt,generateInstSeq,585
238
+ Emission,MatInt,getIntMatCost,308
239
+ Emission,MatInt,structInst,52
240
+ Emission,MCCodeEmitter,~MCCodeEmitter,2
241
+ Emission,MCCodeEmitter,createMCCodeEmitter,8
242
+ Emission,MCCodeEmitter,encodeInstruction,303
243
+ Emission,MCCodeEmitter,getImmOpValue,943
244
+ Emission,MCCodeEmitter,getImmOpValueAsr1,120
245
+ Emission,MCCodeEmitter,getMachineOpValue,20
246
+ Emission,MCCodeEmitter,getVMaskReg,18
247
+ Emission,MCCodeEmitter,MCCodeEmitter,10
248
+ Emission,MCExpr,classof1,6
249
+ Emission,MCExpr,classof2,2
250
+ Emission,MCExpr,create,19
251
+ Emission,MCExpr,enumVariantKind,19
252
+ Emission,MCExpr,evaluateAsConstant,303
253
+ Emission,MCExpr,evaluateAsInt64,59
254
+ Emission,MCExpr,evaluateAsRelocatableImpl,55
255
+ Emission,MCExpr,findAssociatedFragment,3
256
+ Emission,MCExpr,fixELFSymbolsInTLSFixups,27
257
+ Emission,MCExpr,fixELFSymbolsInTLSFixupsImpl,411
258
+ Emission,MCExpr,getKind,5
259
+ Emission,MCExpr,getPCRelHiFixup,493
260
+ Emission,MCExpr,getSubExpr,2
261
+ Emission,MCExpr,getVariantKindForName,48
262
+ Emission,MCExpr,getVariantKindName,29
263
+ Emission,MCExpr,MCExpr,21
264
+ Emission,MCExpr,printImpl,176
265
+ Emission,MCExpr,visitUsedExpr,7
266
+ Emission,MCTargetDesc,createAsmTargetStreamer,19
267
+ Emission,MCTargetDesc,createInstrAnalysis,3
268
+ Emission,MCTargetDesc,createMCAsmInfo,22
269
+ Emission,MCTargetDesc,createMCInstPrinter,29
270
+ Emission,MCTargetDesc,createMCInstrInfo,3
271
+ Emission,MCTargetDesc,createMCRegisterInfo,7
272
+ Emission,MCTargetDesc,createMCSubtargetInfo,21
273
+ Emission,MCTargetDesc,createNullTargetStreamer,10
274
+ Emission,MCTargetDesc,createObjectTargetStreamer,33
275
+ Emission,MCTargetDesc,evaluateBranch,186
276
+ Emission,MCTargetDesc,InstrAnalysis,3
277
+ Emission,MCTargetDesc,LLVMInitializeTargetMC,143
278
+ Emission,TargetStreamer,emitAttribute,8
279
+ Emission,TargetStreamer,emitAttribute2,2
280
+ Emission,TargetStreamer,emitDirectiveOptionNoPIC,3
281
+ Emission,TargetStreamer,emitDirectiveOptionNoPIC2,2
282
+ Emission,TargetStreamer,emitDirectiveOptionNoRelax,4
283
+ Emission,TargetStreamer,emitDirectiveOptionNoRelax2,1
284
+ Emission,TargetStreamer,emitDirectiveOptionNoRVC,4
285
+ Emission,TargetStreamer,emitDirectiveOptionNoRVC2,6
286
+ Emission,TargetStreamer,emitDirectiveOptionPIC,3
287
+ Emission,TargetStreamer,emitDirectiveOptionPIC2,2
288
+ Emission,TargetStreamer,emitDirectiveOptionPop,1
289
+ Emission,TargetStreamer,emitDirectiveOptionPop2,4
290
+ Emission,TargetStreamer,emitDirectiveOptionPush,2
291
+ Emission,TargetStreamer,emitDirectiveOptionPush2,2
292
+ Emission,TargetStreamer,emitDirectiveOptionRelax,3
293
+ Emission,TargetStreamer,emitDirectiveOptionRelax2,2
294
+ Emission,TargetStreamer,emitDirectiveOptionRVC,2
295
+ Emission,TargetStreamer,emitDirectiveOptionRVC2,1
296
+ Emission,TargetStreamer,emitIntTextAttribute,6
297
+ Emission,TargetStreamer,emitIntTextAttribute2,4
298
+ Emission,TargetStreamer,emitTargetAttributes,476
299
+ Emission,TargetStreamer,emitTextAttribute,4
300
+ Emission,TargetStreamer,emitTextAttribute2,5
301
+ Emission,TargetStreamer,finish,2
302
+ Emission,TargetStreamer,finishAttributeSection,2
303
+ Emission,TargetStreamer,finishAttributeSection2,2
304
+ Emission,TargetStreamer,TargetAsmStreamer,16
305
+ Emission,TargetStreamer,TargetStreamer,2
306
+ Optimization,CleanupVSETVLI,CleanupVSETVLI,21
307
+ Optimization,CleanupVSETVLI,createPass,15
308
+ Optimization,CleanupVSETVLI,getAnalysisUsage,12
309
+ Optimization,CleanupVSETVLI,getPassName,24
310
+ Optimization,CleanupVSETVLI,getRequiredProperties,17
311
+ Optimization,CleanupVSETVLI,runOnMachineBasicBlock,5111
312
+ Optimization,CleanupVSETVLI,runOnMachineFunction,490
313
+ Optimization,ExpandAtomicPseudoInsts,createPass,21
314
+ Optimization,ExpandAtomicPseudoInsts,ExpandAtomicPseudo,15
315
+ Optimization,ExpandAtomicPseudoInsts,expandMBB,250
316
+ Optimization,ExpandAtomicPseudoInsts,expandMI,5474
317
+ Optimization,ExpandAtomicPseudoInsts,getPassName,17
318
+ Optimization,ExpandAtomicPseudoInsts,runOnMachineFunction,191
319
+ Optimization,ExpandPseudoInsts,createPass,21
320
+ Optimization,ExpandPseudoInsts,expandMBB,15
321
+ Optimization,ExpandPseudoInsts,expandMI,352
322
+ Optimization,ExpandPseudoInsts,ExpandPseudo,7700
323
+ Optimization,ExpandPseudoInsts,getPassName,17
324
+ Optimization,ExpandPseudoInsts,runOnMachineFunction,181
325
+ Optimization,MergeBaseOffset,createPass,8
326
+ Optimization,MergeBaseOffset,getPassName,10
327
+ Optimization,MergeBaseOffset,getRequiredProperties,21
328
+ Optimization,MergeBaseOffset,MergeBaseOffsetOpt,14
329
+ Optimization,MergeBaseOffset,runOnMachineFunction,6068
330
+ Scheduling,InstrInfo,analyzeBranch,329
331
+ Scheduling,InstrInfo,areMemAccessesTriviallyDisjoint,219
332
+ Scheduling,InstrInfo,buildOutlinedFrame,346
333
+ Scheduling,InstrInfo,copyPhysReg,455
334
+ Scheduling,InstrInfo,decomposeMachineOperandsTargetFlags,20
335
+ Scheduling,InstrInfo,getBranchDestBlock,35
336
+ Scheduling,InstrInfo,getInstSizeInBytes,713
337
+ Scheduling,InstrInfo,getMemOperandWithOffsetWidth,46
338
+ Scheduling,InstrInfo,getOutliningCandidateInfo,566
339
+ Scheduling,InstrInfo,getOutliningType,493
340
+ Scheduling,InstrInfo,getSerializableDirectMachineOperandTargetFlags,121
341
+ Scheduling,InstrInfo,insertBranch,149
342
+ Scheduling,InstrInfo,insertIndirectBranch,343
343
+ Scheduling,InstrInfo,insertOutlinedCall,155
344
+ Scheduling,InstrInfo,InstrInfo,21
345
+ Scheduling,InstrInfo,isAsCheapAsAMove,258
346
+ Scheduling,InstrInfo,isBranchOffsetInRange,46
347
+ Scheduling,InstrInfo,isCopyInstrImpl,170
348
+ Scheduling,InstrInfo,isFunctionSafeToOutlineFrom,21
349
+ Scheduling,InstrInfo,isLoadFromStackSlot,101
350
+ Scheduling,InstrInfo,isMBBSafeToOutlineFrom,11
351
+ Scheduling,InstrInfo,isStoreToStackSlot,62
352
+ Scheduling,InstrInfo,loadRegFromStackSlot,127
353
+ Scheduling,InstrInfo,movImm,400
354
+ Scheduling,InstrInfo,parseCondBranch,19
355
+ Scheduling,InstrInfo,removeBranch,53
356
+ Scheduling,InstrInfo,reverseBranchCondition,64
357
+ Scheduling,InstrInfo,storeRegToStackSlot,118
358
+ Scheduling,InstrInfo,verifyInstruction,44
359
+ Scheduling,MachineFunctionInfo,getLibCallStackSize,10
360
+ Scheduling,MachineFunctionInfo,getMoveF64FrameIndex,19
361
+ Scheduling,MachineFunctionInfo,getVarArgsFrameIndex,14
362
+ Scheduling,MachineFunctionInfo,getVarArgsSaveSize,6
363
+ Scheduling,MachineFunctionInfo,MachineFunctionInfo,6
364
+ Scheduling,MachineFunctionInfo,setLibCallStackSize,12
365
+ Scheduling,MachineFunctionInfo,setVarArgsFrameIndex,10
366
+ Scheduling,MachineFunctionInfo,setVarArgsSaveSize,7
367
+ Scheduling,MachineFunctionInfo,useSaveRestoreLibCalls,691
368
+ Scheduling,Subtarget,anchor,2
369
+ Scheduling,Subtarget,enableLinkerRelax,8
370
+ Scheduling,Subtarget,enableMachineScheduler,3
371
+ Scheduling,Subtarget,enableRVCHintInstrs,10
372
+ Scheduling,Subtarget,enableSaveRestore,6
373
+ Scheduling,Subtarget,getCallLowering,9
374
+ Scheduling,Subtarget,getFrameLowering,6
375
+ Scheduling,Subtarget,getInstrInfo,7
376
+ Scheduling,Subtarget,getInstructionSelector,15
377
+ Scheduling,Subtarget,getLegalizerInfo,12
378
+ Scheduling,Subtarget,getRegBankInfo,9
379
+ Scheduling,Subtarget,getRegisterInfo,7
380
+ Scheduling,Subtarget,getSelectionDAGInfo,10
381
+ Scheduling,Subtarget,getTargetABI,9
382
+ Scheduling,Subtarget,getTargetLowering,9
383
+ Scheduling,Subtarget,getXLen,6
384
+ Scheduling,Subtarget,getXLenVT,12
385
+ Scheduling,Subtarget,hasStdExtA,6
386
+ Scheduling,Subtarget,hasStdExtB,1
387
+ Scheduling,Subtarget,hasStdExtC,2
388
+ Scheduling,Subtarget,hasStdExtD,4
389
+ Scheduling,Subtarget,hasStdExtF,3
390
+ Scheduling,Subtarget,hasStdExtM,2
391
+ Scheduling,Subtarget,hasStdExtV,5
392
+ Scheduling,Subtarget,hasStdExtZba,2
393
+ Scheduling,Subtarget,hasStdExtZbb,2
394
+ Scheduling,Subtarget,hasStdExtZbc,2
395
+ Scheduling,Subtarget,hasStdExtZbe,2
396
+ Scheduling,Subtarget,hasStdExtZbf,3
397
+ Scheduling,Subtarget,hasStdExtZbm,2
398
+ Scheduling,Subtarget,hasStdExtZbp,3
399
+ Scheduling,Subtarget,hasStdExtZbproposedc,1
400
+ Scheduling,Subtarget,hasStdExtZbr,1
401
+ Scheduling,Subtarget,hasStdExtZbs,2
402
+ Scheduling,Subtarget,hasStdExtZbt,2
403
+ Scheduling,Subtarget,hasStdExtZfh,2
404
+ Scheduling,Subtarget,hasStdExtZvamo,2
405
+ Scheduling,Subtarget,hasStdExtZvlsseg,3
406
+ Scheduling,Subtarget,initializeSubtargetDependencies,302
407
+ Scheduling,Subtarget,is64Bit,14
408
+ Scheduling,Subtarget,isRegisterReservedByUser,29
409
+ Scheduling,Subtarget,isRV32E,9
410
+ Scheduling,Subtarget,Subtarget,150
411
+ Scheduling,TargetInfo,getThe32Target,18
412
+ Scheduling,TargetInfo,getThe64Target,3
413
+ Scheduling,TargetInfo,LLVMInitializeTargetInfo,11
414
+ Scheduling,TargetMachine,addGlobalInstructionSelect,6
415
+ Scheduling,TargetMachine,addInstSelector,104
416
+ Scheduling,TargetMachine,addIRPasses,14
417
+ Scheduling,TargetMachine,addIRTranslator,19
418
+ Scheduling,TargetMachine,addLegalizeMachineIR,10
419
+ Scheduling,TargetMachine,addPreEmitPass,21
420
+ Scheduling,TargetMachine,addPreEmitPass2,84
421
+ Scheduling,TargetMachine,addPreRegAlloc,150
422
+ Scheduling,TargetMachine,addPreSched2,2
423
+ Scheduling,TargetMachine,addRegBankSelect,18
424
+ Scheduling,TargetMachine,computeDataLayout,45
425
+ Scheduling,TargetMachine,createPassConfig,8
426
+ Scheduling,TargetMachine,getEffectiveRelocModel,6
427
+ Scheduling,TargetMachine,getObjFileLowering,34
428
+ Scheduling,TargetMachine,getSubtargetImpl,99
429
+ Scheduling,TargetMachine,getTargetMachine,27
430
+ Scheduling,TargetMachine,getTargetTransformInfo,20
431
+ Scheduling,TargetMachine,isNoopAddrSpaceCast,77
432
+ Scheduling,TargetMachine,LLVMInitializeTarget,21
433
+ Scheduling,TargetMachine,PassConfig,30
434
+ Scheduling,TargetMachine,TargetMachine,128
435
+ Scheduling,TargetObjectFIle,getModuleMetadata,1158
436
+ Scheduling,TargetObjectFIle,getSectionForConstant,68
437
+ Scheduling,TargetObjectFIle,Initialize,64
438
+ Scheduling,TargetObjectFIle,isConstantInSmallSection,54
439
+ Scheduling,TargetObjectFIle,isGlobalInSmallSection,988
440
+ Scheduling,TargetObjectFIle,isInSmallSection,8
441
+ Scheduling,TargetObjectFIle,SelectSectionForGlobal,45
442
+ Scheduling,TargetTransformInfo,getIntImmCost,255
443
+ Scheduling,TargetTransformInfo,getIntImmCostInst,738
444
+ Scheduling,TargetTransformInfo,getIntImmCostIntrin,51
445
+ Scheduling,TargetTransformInfo,getST,5
446
+ Scheduling,TargetTransformInfo,getTLI,3
447
+ Scheduling,TargetTransformInfo,TTIImpl,46
448
+ Selection,CallLowering,CallLowering,10
449
+ Selection,CallLowering,lowerCall,2
450
+ Selection,CallLowering,lowerFormalArguments,3
451
+ Selection,CallLowering,lowerReturn,135
452
+ Selection,FrameLowering,adjustReg,222
453
+ Selection,FrameLowering,canUseAsEpilogue,461
454
+ Selection,FrameLowering,canUseAsPrologue,232
455
+ Selection,FrameLowering,determineCalleeSaves,808
456
+ Selection,FrameLowering,eliminateCallFramePseudoInstr,41
457
+ Selection,FrameLowering,emitEpilogue,1005
458
+ Selection,FrameLowering,emitPrologue,3037
459
+ Selection,FrameLowering,FrameLowering,29
460
+ Selection,FrameLowering,getFrameIndexReference,1249
461
+ Selection,FrameLowering,hasBP,25
462
+ Selection,FrameLowering,hasFP,63
463
+ Selection,FrameLowering,hasReservedCallFrame,12
464
+ Selection,FrameLowering,processFunctionBeforeFrameFinalized,81
465
+ Selection,FrameLowering,restoreCalleeSavedRegisters,592
466
+ Selection,FrameLowering,spillCalleeSavedRegisters,534
467
+ Selection,InstructionSelector,createInstructionSelector,13
468
+ Selection,InstructionSelector,getName,5
469
+ Selection,InstructionSelector,InstructionSelector,53
470
+ Selection,InstructionSelector,select,31
471
+ Selection,ISelDAGToDAG,createISelDag,8
472
+ Selection,ISelDAGToDAG,DAGToDAGISel,11
473
+ Selection,ISelDAGToDAG,getPassName,1
474
+ Selection,ISelDAGToDAG,MatchSLLIUW,243
475
+ Selection,ISelDAGToDAG,MatchSRLIUW,311
476
+ Selection,ISelDAGToDAG,PostprocessISelDAG,130
477
+ Selection,ISelDAGToDAG,runOnMachineFunction,4
478
+ Selection,ISelDAGToDAG,Select,28532
479
+ Selection,ISelDAGToDAG,SelectAddrFI,8
480
+ Selection,ISelDAGToDAG,SelectInlineAsmMemoryOperand,205
481
+ Selection,ISelDAGToDAG,selectVLOp,164
482
+ Selection,ISelDAGToDAG,selectVSplat,247
483
+ Selection,ISelDAGToDAG,selectVSplatSimm5,1070
484
+ Selection,ISelDAGToDAG,selectVSplatUimm5,385
485
+ Selection,ISelLowering,analyzeInputArgs,322
486
+ Selection,ISelLowering,analyzeOutputArgs,279
487
+ Selection,ISelLowering,CanLowerReturn,460
488
+ Selection,ISelLowering,computeKnownBitsForTargetNode,384
489
+ Selection,ISelLowering,ComputeNumSignBitsForTargetNode,226
490
+ Selection,ISelLowering,convertSelectOfConstantsToMath,25
491
+ Selection,ISelLowering,convertSetCCLogicToBitwiseLogic,9
492
+ Selection,ISelLowering,decomposeMulByConstant,569
493
+ Selection,ISelLowering,EmitInstrWithCustomInserter,382
494
+ Selection,ISelLowering,emitLeadingFence,225
495
+ Selection,ISelLowering,emitMaskedAtomicCmpXchgIntrinsic,273
496
+ Selection,ISelLowering,emitMaskedAtomicRMWIntrinsic,139
497
+ Selection,ISelLowering,emitTrailingFence,184
498
+ Selection,ISelLowering,getAddr,368
499
+ Selection,ISelLowering,getConstraintType,102
500
+ Selection,ISelLowering,getDynamicTLSAddr,213
501
+ Selection,ISelLowering,getExceptionPointerRegister,4
502
+ Selection,ISelLowering,getExceptionSelectorRegister,9
503
+ Selection,ISelLowering,getExtendForAtomicCmpSwapArg,7
504
+ Selection,ISelLowering,getExtendForAtomicOps,5
505
+ Selection,ISelLowering,getInlineAsmMemConstraint,87
506
+ Selection,ISelLowering,getRegForInlineAsmConstraint,1204
507
+ Selection,ISelLowering,getRegisterByName,228
508
+ Selection,ISelLowering,getSetCCResultType,97
509
+ Selection,ISelLowering,getStaticTLSAddr,527
510
+ Selection,ISelLowering,getSubtarget,7
511
+ Selection,ISelLowering,getTargetNodeName,610
512
+ Selection,ISelLowering,getTgtMemIntrinsic,409
513
+ Selection,ISelLowering,hasBitPreservingFPLogic,12
514
+ Selection,ISelLowering,isCheapToSpeculateCtlz,4
515
+ Selection,ISelLowering,isCheapToSpeculateCttz,7
516
+ Selection,ISelLowering,isDesirableToCommuteWithShift,1301
517
+ Selection,ISelLowering,isEligibleForTailCallOptimization,692
518
+ Selection,ISelLowering,isFMAFasterThanFMulAndFAdd,16
519
+ Selection,ISelLowering,isFPImmLegal,33
520
+ Selection,ISelLowering,isLegalAddImmediate,7
521
+ Selection,ISelLowering,isLegalAddressingMode,124
522
+ Selection,ISelLowering,isLegalICmpImmediate,2
523
+ Selection,ISelLowering,isSExtCheaperThanZExt,83
524
+ Selection,ISelLowering,isTruncateFree,105
525
+ Selection,ISelLowering,isTruncateFree2,45
526
+ Selection,ISelLowering,isZExtFree,137
527
+ Selection,ISelLowering,LowerAsmOperandForConstraint,268
528
+ Selection,ISelLowering,LowerBlockAddress,76
529
+ Selection,ISelLowering,LowerCall,1683
530
+ Selection,ISelLowering,LowerConstantPool,11
531
+ Selection,ISelLowering,lowerEXTRACT_VECTOR_ELT,1002
532
+ Selection,ISelLowering,LowerFormalArguments,2016
533
+ Selection,ISelLowering,LowerFRAMEADDR,264
534
+ Selection,ISelLowering,LowerGlobalAddress,161
535
+ Selection,ISelLowering,LowerGlobalTLSAddress,150
536
+ Selection,ISelLowering,lowerINSERT_VECTOR_ELT,736
537
+ Selection,ISelLowering,LowerINTRINSIC_W_CHAIN,2604
538
+ Selection,ISelLowering,LowerINTRINSIC_WO_CHAIN,1364
539
+ Selection,ISelLowering,LowerJumpTable,4
540
+ Selection,ISelLowering,LowerOperation,1857
541
+ Selection,ISelLowering,LowerReturn,1045
542
+ Selection,ISelLowering,LowerRETURNADDR,258
543
+ Selection,ISelLowering,lowerSELECT,293
544
+ Selection,ISelLowering,lowerShiftLeftParts,864
545
+ Selection,ISelLowering,lowerShiftRightParts,464
546
+ Selection,ISelLowering,lowerSPLATVECTOR,1305
547
+ Selection,ISelLowering,LowerVASTART,171
548
+ Selection,ISelLowering,lowerVectorMaskExt,948
549
+ Selection,ISelLowering,lowerVectorMaskTrunc,298
550
+ Selection,ISelLowering,mayBeEmittedAsTailCall,262
551
+ Selection,ISelLowering,NodeType,301
552
+ Selection,ISelLowering,normaliseSetCC,96
553
+ Selection,ISelLowering,PerformDAGCombine,84
554
+ Selection,ISelLowering,ReplaceNodeResults,3901
555
+ Selection,ISelLowering,shouldConsiderGEPOffsetSplit,3
556
+ Selection,ISelLowering,shouldConvertConstantLoadToIntImm,2
557
+ Selection,ISelLowering,shouldExpandAtomicCmpXchgInIR,88
558
+ Selection,ISelLowering,shouldExpandAtomicRMWInIR,85
559
+ Selection,ISelLowering,shouldExpandShift,78
560
+ Selection,ISelLowering,shouldExtendTypeInLibCall,178
561
+ Selection,ISelLowering,shouldInsertFencesForAtomic,6
562
+ Selection,ISelLowering,shouldSignExtendTypeInLibCall,5
563
+ Selection,ISelLowering,TargetLowering,3111
564
+ Selection,ISelLowering,targetShrinkDemandedConstant,1040
565
+ Selection,ISelLowering,validateCCReservedRegs,478
566
+ Selection,LegalizeInfo,LegalizerInfo,12
567
+ Selection,MCInstLower,lowerMachineInstrToMCInst,721
568
+ Selection,MCInstLower,lowerMachineOperandToMCOperand,192
569
+ Selection,MCInstLower,lowerSymbolOperand,254
Scripts/Exp/Correction/Dev_B.csv ADDED
@@ -0,0 +1,569 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Module,File,Function,Time (Secs)
2
+ allocation,RegisterBankInfo,RegisterBankInfo,4
3
+ allocation,RegisterInfo,eliminateFrameIndex,583
4
+ allocation,RegisterInfo,getCalleeSavedRegs,51
5
+ allocation,RegisterInfo,getCallPreservedMask,38
6
+ allocation,RegisterInfo,getFrameRegister,6
7
+ allocation,RegisterInfo,getNoPreservedMask,8
8
+ allocation,RegisterInfo,getPointerRegClass,8
9
+ allocation,RegisterInfo,getReservedRegs,112
10
+ allocation,RegisterInfo,hasReservedSpillSlot,534
11
+ allocation,RegisterInfo,isAsmClobberable,13
12
+ allocation,RegisterInfo,isConstantPhysReg,13
13
+ allocation,RegisterInfo,RegisterInfo,18
14
+ allocation,RegisterInfo,requiresFrameIndexScavenging,3
15
+ allocation,RegisterInfo,requiresRegisterScavenging,5
16
+ Assembler,AsmParser,addCSRSystemRegisterOperands,53
17
+ Assembler,AsmParser,addExpr,60
18
+ Assembler,AsmParser,addFenceArgOperands,773
19
+ Assembler,AsmParser,addFRMArgOperands,10
20
+ Assembler,AsmParser,addImmOperands,23
21
+ Assembler,AsmParser,addRegOperands,29
22
+ Assembler,AsmParser,addVTypeIOperands,16
23
+ Assembler,AsmParser,AsmParser,202
24
+ Assembler,AsmParser,classifySymbolRef,548
25
+ Assembler,AsmParser,convertFPR64ToFPR16,40
26
+ Assembler,AsmParser,convertFPR64ToFPR32,25
27
+ Assembler,AsmParser,createImm,88
28
+ Assembler,AsmParser,createReg,50
29
+ Assembler,AsmParser,createSysReg,131
30
+ Assembler,AsmParser,createToken,58
31
+ Assembler,AsmParser,createVType,50
32
+ Assembler,AsmParser,defaultMaskRegOp,651
33
+ Assembler,AsmParser,emitToStreamer,68
34
+ Assembler,AsmParser,evaluateConstantImm,93
35
+ Assembler,AsmParser,generateImmOutOfRangeError,120
36
+ Assembler,AsmParser,getEndLoc,86
37
+ Assembler,AsmParser,getFeatureBits,186
38
+ Assembler,AsmParser,getImm,259
39
+ Assembler,AsmParser,getLoc,81
40
+ Assembler,AsmParser,getReg,38
41
+ Assembler,AsmParser,getRoundingMode,502
42
+ Assembler,AsmParser,getStartLoc,13
43
+ Assembler,AsmParser,getSysReg,33
44
+ Assembler,AsmParser,getTargetStreamer,51
45
+ Assembler,AsmParser,getToken,28
46
+ Assembler,AsmParser,getVType,9
47
+ Assembler,AsmParser,isBareSimmNLsb0,214
48
+ Assembler,AsmParser,isBareSymbol,366
49
+ Assembler,AsmParser,isCallSymbol,58
50
+ Assembler,AsmParser,isCLUIImm,115
51
+ Assembler,AsmParser,isCSRSystemRegister,64
52
+ Assembler,AsmParser,isFenceArg,1626
53
+ Assembler,AsmParser,isFRMArg,697
54
+ Assembler,AsmParser,isGPR,44
55
+ Assembler,AsmParser,isImm,20
56
+ Assembler,AsmParser,isImmXLenLI,338
57
+ Assembler,AsmParser,isMem,5
58
+ Assembler,AsmParser,isPseudoJumpSymbol,44
59
+ Assembler,AsmParser,isReg,20
60
+ Assembler,AsmParser,isRV32E,21
61
+ Assembler,AsmParser,isRV64,13
62
+ Assembler,AsmParser,isRV64-2,11
63
+ Assembler,AsmParser,isSImm10Lsb0000NonZero,44
64
+ Assembler,AsmParser,isSImm12,316
65
+ Assembler,AsmParser,isSImm12Lsb0,128
66
+ Assembler,AsmParser,isSImm13Lsb0,115
67
+ Assembler,AsmParser,isSImm21Lsb0JAL,62
68
+ Assembler,AsmParser,isSImm5,52
69
+ Assembler,AsmParser,isSImm5Plus1,46
70
+ Assembler,AsmParser,isSImm6,29
71
+ Assembler,AsmParser,isSImm6NonZero,44
72
+ Assembler,AsmParser,isSImm9Lsb0,43
73
+ Assembler,AsmParser,isSystemRegister,11
74
+ Assembler,AsmParser,isToken,17
75
+ Assembler,AsmParser,isTPRelAddSymbol,47
76
+ Assembler,AsmParser,isUImm10Lsb00NonZero,50
77
+ Assembler,AsmParser,isUImm20AUIPC,96
78
+ Assembler,AsmParser,isUImm20LUI,46
79
+ Assembler,AsmParser,isUImm5,52
80
+ Assembler,AsmParser,isUImm7Lsb00,27
81
+ Assembler,AsmParser,isUImm8Lsb00,19
82
+ Assembler,AsmParser,isUImm8Lsb000,19
83
+ Assembler,AsmParser,isUImm9Lsb000,25
84
+ Assembler,AsmParser,isUImmLog2XLen,445
85
+ Assembler,AsmParser,isUImmLog2XLenHalf,43
86
+ Assembler,AsmParser,isUImmLog2XLenNonZero,55
87
+ Assembler,AsmParser,isV0Reg,9
88
+ Assembler,AsmParser,isVType,10
89
+ Assembler,AsmParser,isVTypeI,7
90
+ Assembler,AsmParser,KindTy,23
91
+ Assembler,AsmParser,LLVMInitializeAsmParser,8
92
+ Assembler,AsmParser,MatchAndEmitInstruction,4413
93
+ Assembler,AsmParser,matchRegisterNameHelper,243
94
+ Assembler,AsmParser,Operand,12
95
+ Assembler,AsmParser,Operand2,34
96
+ Assembler,AsmParser,parseAtomicMemOp,764
97
+ Assembler,AsmParser,parseBareSymbol,432
98
+ Assembler,AsmParser,parseCallSymbol,1172
99
+ Assembler,AsmParser,parseCSRSyestemRegister,1285
100
+ Assembler,AsmParser,ParseDirective,3966
101
+ Assembler,AsmParser,parseImmediate,1014
102
+ Assembler,AsmParser,ParseInstruction,664
103
+ Assembler,AsmParser,parseJALOffset,315
104
+ Assembler,AsmParser,parseMaskReg,1241
105
+ Assembler,AsmParser,parseMemOpBaseReg,69
106
+ Assembler,AsmParser,parseOperand,106
107
+ Assembler,AsmParser,parseOperandWithModifier,111
108
+ Assembler,AsmParser,parsePseudoJumpSymbol,730
109
+ Assembler,AsmParser,ParseRegister,251
110
+ Assembler,AsmParser,parseRegister2,10
111
+ Assembler,AsmParser,parseVTypeI,425
112
+ Assembler,AsmParser,print,52
113
+ Assembler,AsmParser,setFeatureBits,32
114
+ Assembler,AsmParser,tryParseRegister,19
115
+ Assembler,AsmParser,validateTargetOperandClass,195
116
+ Assembler,AsmPrinter,AsmPrinter,21
117
+ Assembler,AsmPrinter,emitAttributes,107
118
+ Assembler,AsmPrinter,emitEndOfAsmFile,38
119
+ Assembler,AsmPrinter,emitInstruction,11
120
+ Assembler,AsmPrinter,emitStartOfAsmFile,13
121
+ Assembler,AsmPrinter,EmitToStreamer,19
122
+ Assembler,AsmPrinter,getPassName,4
123
+ Assembler,AsmPrinter,LLVMInitializeAsmPrinter,12
124
+ Assembler,AsmPrinter,lowerOperand,330
125
+ Assembler,AsmPrinter,PrintAsmMemoryOperand,44
126
+ Assembler,AsmPrinter,PrintAsmOperand,318
127
+ Assembler,AsmPrinter,runOnMachineFunction,41
128
+ Disassembler,Disassembler,addImplySP,69
129
+ Disassembler,Disassembler,createDisassembler,17
130
+ Disassembler,Disassembler,decodeCLUIImmOperand,69
131
+ Disassembler,Disassembler,DecodeFPR16RegisterClass,27
132
+ Disassembler,Disassembler,DecodeFPR32CRegisterClass,23
133
+ Disassembler,Disassembler,DecodeFPR32RegisterClass,28
134
+ Disassembler,Disassembler,DecodeFPR64CRegisterClass,15
135
+ Disassembler,Disassembler,DecodeFPR64RegisterClass,22
136
+ Disassembler,Disassembler,decodeFRMArg,21
137
+ Disassembler,Disassembler,DecodeGPRCRegisterClass,16
138
+ Disassembler,Disassembler,DecodeGPRNoX0RegisterClass,54
139
+ Disassembler,Disassembler,DecodeGPRNoX0X2RegisterClass,43
140
+ Disassembler,Disassembler,DecodeGPRRegisterClass,50
141
+ Disassembler,Disassembler,decodeRVCInstrRdRs1Rs2,51
142
+ Disassembler,Disassembler,decodeRVCInstrRdRs1UImm,565
143
+ Disassembler,Disassembler,decodeRVCInstrRdRs2,353
144
+ Disassembler,Disassembler,decodeRVCInstrRdSImm,251
145
+ Disassembler,Disassembler,decodeRVCInstrSImm,135
146
+ Disassembler,Disassembler,decodeSImmNonZeroOperand,78
147
+ Disassembler,Disassembler,decodeSImmOperand,42
148
+ Disassembler,Disassembler,decodeSImmOperandAndLsl1,28
149
+ Disassembler,Disassembler,decodeUImmNonZeroOperand,123
150
+ Disassembler,Disassembler,decodeUImmOperand,33
151
+ Disassembler,Disassembler,decodeVMaskReg,148
152
+ Disassembler,Disassembler,DecodeVRRegisterClass,27
153
+ Disassembler,Disassembler,Disassembler,12
154
+ Disassembler,Disassembler,getInstruction,1214
155
+ Disassembler,Disassembler,LLVMInitializeDisassembler,19
156
+ Emission,AsmBackend,~AsmBackend,42
157
+ Emission,AsmBackend,adjustFixupValue,1776
158
+ Emission,AsmBackend,applyFixup,573
159
+ Emission,AsmBackend,AsmBackend,236
160
+ Emission,AsmBackend,createAsmBackend,112
161
+ Emission,AsmBackend,createObjectTargetWriter,80
162
+ Emission,AsmBackend,evaluateTargetFixup,2968
163
+ Emission,AsmBackend,fixupNeedsRelaxation,52
164
+ Emission,AsmBackend,fixupNeedsRelaxationAdvanced,188
165
+ Emission,AsmBackend,getFixupKind,161
166
+ Emission,AsmBackend,getFixupKindInfo,1009
167
+ Emission,AsmBackend,getNumFixupKinds,88
168
+ Emission,AsmBackend,getRelaxedOpcode,346
169
+ Emission,AsmBackend,getTargetABI,54
170
+ Emission,AsmBackend,getTargetOptions,56
171
+ Emission,AsmBackend,mayNeedRelaxation,859
172
+ Emission,AsmBackend,relaxInstruction,1616
173
+ Emission,AsmBackend,requiresDiffExpressionRelocations,260
174
+ Emission,AsmBackend,setForceRelocs,12
175
+ Emission,AsmBackend,shouldForceRelocation,782
176
+ Emission,AsmBackend,shouldInsertExtraNopBytesForCodeAlign,821
177
+ Emission,AsmBackend,shouldInsertFixupForCodeAlign,812
178
+ Emission,AsmBackend,willForceRelocations,13
179
+ Emission,AsmBackend,writeNopData,1613
180
+ Emission,AsmInfo,anchor,135
181
+ Emission,AsmInfo,getExprForFDESymbol,1258
182
+ Emission,AsmInfo,MCAsmInfo,217
183
+ Emission,BaseInfo,ABI,12
184
+ Emission,BaseInfo,computeTargetABI,218
185
+ Emission,BaseInfo,FenceField,11
186
+ Emission,BaseInfo,getTargetABI,16
187
+ Emission,BaseInfo,II,67
188
+ Emission,BaseInfo,OperandType,35
189
+ Emission,BaseInfo,RISCVVSEW,10
190
+ Emission,BaseInfo,RoundingMode,14
191
+ Emission,BaseInfo,roundingModeToString,27
192
+ Emission,BaseInfo,RVVConstraintType,17
193
+ Emission,BaseInfo,stringToRoundingMode,30
194
+ Emission,BaseInfo,validate,13
195
+ Emission,BaseInfo,VLMUL,10
196
+ Emission,BaseInfo,VMTs,51
197
+ Emission,ELFObjectWriter,~ELFObjectWriter,2
198
+ Emission,ELFObjectWriter,createELFObjectWriter,2
199
+ Emission,ELFObjectWriter,ELFObjectWriter,4
200
+ Emission,ELFObjectWriter,getRelocType,944
201
+ Emission,ELFObjectWriter,needsRelocateWithSymbol,3
202
+ Emission,ELFStreamer,AttributeItem,56
203
+ Emission,ELFStreamer,AttributeType,8
204
+ Emission,ELFStreamer,calculateContentSize,94
205
+ Emission,ELFStreamer,emitAttribute,50
206
+ Emission,ELFStreamer,emitDirectiveOptionNoPIC,8
207
+ Emission,ELFStreamer,emitDirectiveOptionNoRelax,11
208
+ Emission,ELFStreamer,emitDirectiveOptionNoRVC,4
209
+ Emission,ELFStreamer,emitDirectiveOptionPIC,3
210
+ Emission,ELFStreamer,emitDirectiveOptionPop,3
211
+ Emission,ELFStreamer,emitDirectiveOptionPush,2
212
+ Emission,ELFStreamer,emitDirectiveOptionRelax,3
213
+ Emission,ELFStreamer,emitDirectiveOptionRVC,2
214
+ Emission,ELFStreamer,emitIntTextAttribute,9
215
+ Emission,ELFStreamer,emitTextAttribute,6
216
+ Emission,ELFStreamer,finishAttributeSection,534
217
+ Emission,ELFStreamer,getAttributeItem,16
218
+ Emission,ELFStreamer,getStreamer,6
219
+ Emission,ELFStreamer,setAttributeItem1,17
220
+ Emission,ELFStreamer,setAttributeItem2,19
221
+ Emission,ELFStreamer,setAttributeItems,30
222
+ Emission,ELFStreamer,TargetELFStreamer,342
223
+ Emission,FixupKind,enumFixups,74
224
+ Emission,InstPrinter,applyTargetSpecificCLOption,38
225
+ Emission,InstPrinter,getRegisterName,25
226
+ Emission,InstPrinter,InstPrinter,27
227
+ Emission,InstPrinter,printAtomicMemOp,59
228
+ Emission,InstPrinter,printBranchOperand,62
229
+ Emission,InstPrinter,printCSRSystemRegister,37
230
+ Emission,InstPrinter,printFenceArg,89
231
+ Emission,InstPrinter,printFRMArg,76
232
+ Emission,InstPrinter,printInst,30
233
+ Emission,InstPrinter,printOperand,57
234
+ Emission,InstPrinter,printRegName,26
235
+ Emission,InstPrinter,printVMaskReg,193
236
+ Emission,InstPrinter,printVTypeI,14
237
+ Emission,MatInt,generateInstSeq,415
238
+ Emission,MatInt,getIntMatCost,275
239
+ Emission,MatInt,structInst,27
240
+ Emission,MCCodeEmitter,~MCCodeEmitter,4
241
+ Emission,MCCodeEmitter,createMCCodeEmitter,36
242
+ Emission,MCCodeEmitter,encodeInstruction,862
243
+ Emission,MCCodeEmitter,getImmOpValue,1772
244
+ Emission,MCCodeEmitter,getImmOpValueAsr1,266
245
+ Emission,MCCodeEmitter,getMachineOpValue,36
246
+ Emission,MCCodeEmitter,getVMaskReg,61
247
+ Emission,MCCodeEmitter,MCCodeEmitter,8
248
+ Emission,MCExpr,classof1,11
249
+ Emission,MCExpr,classof2,8
250
+ Emission,MCExpr,create,6
251
+ Emission,MCExpr,enumVariantKind,24
252
+ Emission,MCExpr,evaluateAsConstant,162
253
+ Emission,MCExpr,evaluateAsInt64,118
254
+ Emission,MCExpr,evaluateAsRelocatableImpl,53
255
+ Emission,MCExpr,findAssociatedFragment,4
256
+ Emission,MCExpr,fixELFSymbolsInTLSFixups,28
257
+ Emission,MCExpr,fixELFSymbolsInTLSFixupsImpl,74
258
+ Emission,MCExpr,getKind,8
259
+ Emission,MCExpr,getPCRelHiFixup,458
260
+ Emission,MCExpr,getSubExpr,4
261
+ Emission,MCExpr,getVariantKindForName,78
262
+ Emission,MCExpr,getVariantKindName,47
263
+ Emission,MCExpr,MCExpr,20
264
+ Emission,MCExpr,printImpl,470
265
+ Emission,MCExpr,visitUsedExpr,6
266
+ Emission,MCTargetDesc,createAsmTargetStreamer,16
267
+ Emission,MCTargetDesc,createInstrAnalysis,6
268
+ Emission,MCTargetDesc,createMCAsmInfo,24
269
+ Emission,MCTargetDesc,createMCInstPrinter,11
270
+ Emission,MCTargetDesc,createMCInstrInfo,10
271
+ Emission,MCTargetDesc,createMCRegisterInfo,9
272
+ Emission,MCTargetDesc,createMCSubtargetInfo,15
273
+ Emission,MCTargetDesc,createNullTargetStreamer,13
274
+ Emission,MCTargetDesc,createObjectTargetStreamer,38
275
+ Emission,MCTargetDesc,evaluateBranch,763
276
+ Emission,MCTargetDesc,InstrAnalysis,43
277
+ Emission,MCTargetDesc,LLVMInitializeTargetMC,84
278
+ Emission,TargetStreamer,emitAttribute,5
279
+ Emission,TargetStreamer,emitAttribute2,9
280
+ Emission,TargetStreamer,emitDirectiveOptionNoPIC,2
281
+ Emission,TargetStreamer,emitDirectiveOptionNoPIC2,5
282
+ Emission,TargetStreamer,emitDirectiveOptionNoRelax,4
283
+ Emission,TargetStreamer,emitDirectiveOptionNoRelax2,5
284
+ Emission,TargetStreamer,emitDirectiveOptionNoRVC,5
285
+ Emission,TargetStreamer,emitDirectiveOptionNoRVC2,3
286
+ Emission,TargetStreamer,emitDirectiveOptionPIC,4
287
+ Emission,TargetStreamer,emitDirectiveOptionPIC2,4
288
+ Emission,TargetStreamer,emitDirectiveOptionPop,5
289
+ Emission,TargetStreamer,emitDirectiveOptionPop2,4
290
+ Emission,TargetStreamer,emitDirectiveOptionPush,4
291
+ Emission,TargetStreamer,emitDirectiveOptionPush2,4
292
+ Emission,TargetStreamer,emitDirectiveOptionRelax,5
293
+ Emission,TargetStreamer,emitDirectiveOptionRelax2,4
294
+ Emission,TargetStreamer,emitDirectiveOptionRVC,5
295
+ Emission,TargetStreamer,emitDirectiveOptionRVC2,4
296
+ Emission,TargetStreamer,emitIntTextAttribute,4
297
+ Emission,TargetStreamer,emitIntTextAttribute2,5
298
+ Emission,TargetStreamer,emitTargetAttributes,739
299
+ Emission,TargetStreamer,emitTextAttribute,3
300
+ Emission,TargetStreamer,emitTextAttribute2,6
301
+ Emission,TargetStreamer,finish,7
302
+ Emission,TargetStreamer,finishAttributeSection,4
303
+ Emission,TargetStreamer,finishAttributeSection2,6
304
+ Emission,TargetStreamer,TargetAsmStreamer,6
305
+ Emission,TargetStreamer,TargetStreamer,9
306
+ Optimization,CleanupVSETVLI,CleanupVSETVLI,12
307
+ Optimization,CleanupVSETVLI,createPass,7
308
+ Optimization,CleanupVSETVLI,getAnalysisUsage,10
309
+ Optimization,CleanupVSETVLI,getPassName,16
310
+ Optimization,CleanupVSETVLI,getRequiredProperties,15
311
+ Optimization,CleanupVSETVLI,runOnMachineBasicBlock,8186
312
+ Optimization,CleanupVSETVLI,runOnMachineFunction,727
313
+ Optimization,ExpandAtomicPseudoInsts,createPass,8
314
+ Optimization,ExpandAtomicPseudoInsts,ExpandAtomicPseudo,12
315
+ Optimization,ExpandAtomicPseudoInsts,expandMBB,879
316
+ Optimization,ExpandAtomicPseudoInsts,expandMI,7297
317
+ Optimization,ExpandAtomicPseudoInsts,getPassName,10
318
+ Optimization,ExpandAtomicPseudoInsts,runOnMachineFunction,96
319
+ Optimization,ExpandPseudoInsts,createPass,8
320
+ Optimization,ExpandPseudoInsts,expandMBB,1571
321
+ Optimization,ExpandPseudoInsts,expandMI,10891
322
+ Optimization,ExpandPseudoInsts,ExpandPseudo,12
323
+ Optimization,ExpandPseudoInsts,getPassName,10
324
+ Optimization,ExpandPseudoInsts,runOnMachineFunction,115
325
+ Optimization,MergeBaseOffset,createPass,15
326
+ Optimization,MergeBaseOffset,getPassName,12
327
+ Optimization,MergeBaseOffset,getRequiredProperties,10
328
+ Optimization,MergeBaseOffset,MergeBaseOffsetOpt,7
329
+ Optimization,MergeBaseOffset,runOnMachineFunction,9213
330
+ Scheduling,InstrInfo,analyzeBranch,145
331
+ Scheduling,InstrInfo,areMemAccessesTriviallyDisjoint,66
332
+ Scheduling,InstrInfo,buildOutlinedFrame,489
333
+ Scheduling,InstrInfo,copyPhysReg,539
334
+ Scheduling,InstrInfo,decomposeMachineOperandsTargetFlags,10
335
+ Scheduling,InstrInfo,getBranchDestBlock,24
336
+ Scheduling,InstrInfo,getInstSizeInBytes,532
337
+ Scheduling,InstrInfo,getMemOperandWithOffsetWidth,39
338
+ Scheduling,InstrInfo,getOutliningCandidateInfo,665
339
+ Scheduling,InstrInfo,getOutliningType,701
340
+ Scheduling,InstrInfo,getSerializableDirectMachineOperandTargetFlags,34
341
+ Scheduling,InstrInfo,insertBranch,82
342
+ Scheduling,InstrInfo,insertIndirectBranch,679
343
+ Scheduling,InstrInfo,insertOutlinedCall,256
344
+ Scheduling,InstrInfo,InstrInfo,13
345
+ Scheduling,InstrInfo,isAsCheapAsAMove,518
346
+ Scheduling,InstrInfo,isBranchOffsetInRange,47
347
+ Scheduling,InstrInfo,isCopyInstrImpl,648
348
+ Scheduling,InstrInfo,isFunctionSafeToOutlineFrom,23
349
+ Scheduling,InstrInfo,isLoadFromStackSlot,94
350
+ Scheduling,InstrInfo,isMBBSafeToOutlineFrom,7
351
+ Scheduling,InstrInfo,isStoreToStackSlot,81
352
+ Scheduling,InstrInfo,loadRegFromStackSlot,121
353
+ Scheduling,InstrInfo,movImm,819
354
+ Scheduling,InstrInfo,parseCondBranch,25
355
+ Scheduling,InstrInfo,removeBranch,40
356
+ Scheduling,InstrInfo,reverseBranchCondition,229
357
+ Scheduling,InstrInfo,storeRegToStackSlot,87
358
+ Scheduling,InstrInfo,verifyInstruction,629
359
+ Scheduling,MachineFunctionInfo,getLibCallStackSize,5
360
+ Scheduling,MachineFunctionInfo,getMoveF64FrameIndex,198
361
+ Scheduling,MachineFunctionInfo,getVarArgsFrameIndex,11
362
+ Scheduling,MachineFunctionInfo,getVarArgsSaveSize,10
363
+ Scheduling,MachineFunctionInfo,MachineFunctionInfo,7
364
+ Scheduling,MachineFunctionInfo,setLibCallStackSize,4
365
+ Scheduling,MachineFunctionInfo,setVarArgsFrameIndex,6
366
+ Scheduling,MachineFunctionInfo,setVarArgsSaveSize,5
367
+ Scheduling,MachineFunctionInfo,useSaveRestoreLibCalls,75
368
+ Scheduling,Subtarget,anchor,6
369
+ Scheduling,Subtarget,enableLinkerRelax,7
370
+ Scheduling,Subtarget,enableMachineScheduler,6
371
+ Scheduling,Subtarget,enableRVCHintInstrs,7
372
+ Scheduling,Subtarget,enableSaveRestore,13
373
+ Scheduling,Subtarget,getCallLowering,4
374
+ Scheduling,Subtarget,getFrameLowering,10
375
+ Scheduling,Subtarget,getInstrInfo,4
376
+ Scheduling,Subtarget,getInstructionSelector,5
377
+ Scheduling,Subtarget,getLegalizerInfo,5
378
+ Scheduling,Subtarget,getRegBankInfo,4
379
+ Scheduling,Subtarget,getRegisterInfo,6
380
+ Scheduling,Subtarget,getSelectionDAGInfo,5
381
+ Scheduling,Subtarget,getTargetABI,8
382
+ Scheduling,Subtarget,getTargetLowering,9
383
+ Scheduling,Subtarget,getXLen,9
384
+ Scheduling,Subtarget,getXLenVT,5
385
+ Scheduling,Subtarget,hasStdExtA,3
386
+ Scheduling,Subtarget,hasStdExtB,2
387
+ Scheduling,Subtarget,hasStdExtC,4
388
+ Scheduling,Subtarget,hasStdExtD,3
389
+ Scheduling,Subtarget,hasStdExtF,3
390
+ Scheduling,Subtarget,hasStdExtM,4
391
+ Scheduling,Subtarget,hasStdExtV,3
392
+ Scheduling,Subtarget,hasStdExtZba,2
393
+ Scheduling,Subtarget,hasStdExtZbb,4
394
+ Scheduling,Subtarget,hasStdExtZbc,3
395
+ Scheduling,Subtarget,hasStdExtZbe,3
396
+ Scheduling,Subtarget,hasStdExtZbf,4
397
+ Scheduling,Subtarget,hasStdExtZbm,5
398
+ Scheduling,Subtarget,hasStdExtZbp,3
399
+ Scheduling,Subtarget,hasStdExtZbproposedc,3
400
+ Scheduling,Subtarget,hasStdExtZbr,4
401
+ Scheduling,Subtarget,hasStdExtZbs,3
402
+ Scheduling,Subtarget,hasStdExtZbt,3
403
+ Scheduling,Subtarget,hasStdExtZfh,4
404
+ Scheduling,Subtarget,hasStdExtZvamo,4
405
+ Scheduling,Subtarget,hasStdExtZvlsseg,3
406
+ Scheduling,Subtarget,initializeSubtargetDependencies,322
407
+ Scheduling,Subtarget,is64Bit,4
408
+ Scheduling,Subtarget,isRegisterReservedByUser,18
409
+ Scheduling,Subtarget,isRV32E,5
410
+ Scheduling,Subtarget,Subtarget,81
411
+ Scheduling,TargetInfo,getThe32Target,17
412
+ Scheduling,TargetInfo,getThe64Target,16
413
+ Scheduling,TargetInfo,LLVMInitializeTargetInfo,15
414
+ Scheduling,TargetMachine,addGlobalInstructionSelect,6
415
+ Scheduling,TargetMachine,addInstSelector,5
416
+ Scheduling,TargetMachine,addIRPasses,7
417
+ Scheduling,TargetMachine,addIRTranslator,5
418
+ Scheduling,TargetMachine,addLegalizeMachineIR,7
419
+ Scheduling,TargetMachine,addPreEmitPass,8
420
+ Scheduling,TargetMachine,addPreEmitPass2,11
421
+ Scheduling,TargetMachine,addPreRegAlloc,8
422
+ Scheduling,TargetMachine,addPreSched2,5
423
+ Scheduling,TargetMachine,addRegBankSelect,4
424
+ Scheduling,TargetMachine,computeDataLayout,20
425
+ Scheduling,TargetMachine,createPassConfig,6
426
+ Scheduling,TargetMachine,getEffectiveRelocModel,5
427
+ Scheduling,TargetMachine,getObjFileLowering,7
428
+ Scheduling,TargetMachine,getSubtargetImpl,56
429
+ Scheduling,TargetMachine,getTargetMachine,17
430
+ Scheduling,TargetMachine,getTargetTransformInfo,7
431
+ Scheduling,TargetMachine,isNoopAddrSpaceCast,8
432
+ Scheduling,TargetMachine,LLVMInitializeTarget,16
433
+ Scheduling,TargetMachine,PassConfig,15
434
+ Scheduling,TargetMachine,TargetMachine,34
435
+ Scheduling,TargetObjectFIle,getModuleMetadata,359
436
+ Scheduling,TargetObjectFIle,getSectionForConstant,21
437
+ Scheduling,TargetObjectFIle,Initialize,28
438
+ Scheduling,TargetObjectFIle,isConstantInSmallSection,16
439
+ Scheduling,TargetObjectFIle,isGlobalInSmallSection,597
440
+ Scheduling,TargetObjectFIle,isInSmallSection,8
441
+ Scheduling,TargetObjectFIle,SelectSectionForGlobal,27
442
+ Scheduling,TargetTransformInfo,getIntImmCost,282
443
+ Scheduling,TargetTransformInfo,getIntImmCostInst,669
444
+ Scheduling,TargetTransformInfo,getIntImmCostIntrin,9
445
+ Scheduling,TargetTransformInfo,getST,6
446
+ Scheduling,TargetTransformInfo,getTLI,5
447
+ Scheduling,TargetTransformInfo,TTIImpl,21
448
+ Selection,CallLowering,CallLowering,5
449
+ Selection,CallLowering,lowerCall,4
450
+ Selection,CallLowering,lowerFormalArguments,9
451
+ Selection,CallLowering,lowerReturn,39
452
+ Selection,FrameLowering,adjustReg,199
453
+ Selection,FrameLowering,canUseAsEpilogue,357
454
+ Selection,FrameLowering,canUseAsPrologue,329
455
+ Selection,FrameLowering,determineCalleeSaves,1004
456
+ Selection,FrameLowering,eliminateCallFramePseudoInstr,38
457
+ Selection,FrameLowering,emitEpilogue,1178
458
+ Selection,FrameLowering,emitPrologue,2777
459
+ Selection,FrameLowering,FrameLowering,23
460
+ Selection,FrameLowering,getFrameIndexReference,1142
461
+ Selection,FrameLowering,hasBP,18
462
+ Selection,FrameLowering,hasFP,48
463
+ Selection,FrameLowering,hasReservedCallFrame,20
464
+ Selection,FrameLowering,processFunctionBeforeFrameFinalized,63
465
+ Selection,FrameLowering,restoreCalleeSavedRegisters,436
466
+ Selection,FrameLowering,spillCalleeSavedRegisters,425
467
+ Selection,InstructionSelector,createInstructionSelector,51
468
+ Selection,InstructionSelector,getName,11
469
+ Selection,InstructionSelector,InstructionSelector,9
470
+ Selection,InstructionSelector,select,15
471
+ Selection,ISelDAGToDAG,createISelDag,47
472
+ Selection,ISelDAGToDAG,DAGToDAGISel,6
473
+ Selection,ISelDAGToDAG,getPassName,5
474
+ Selection,ISelDAGToDAG,MatchSLLIUW,163
475
+ Selection,ISelDAGToDAG,MatchSRLIUW,497
476
+ Selection,ISelDAGToDAG,PostprocessISelDAG,14
477
+ Selection,ISelDAGToDAG,runOnMachineFunction,12
478
+ Selection,ISelDAGToDAG,Select,6381
479
+ Selection,ISelDAGToDAG,SelectAddrFI,16
480
+ Selection,ISelDAGToDAG,SelectInlineAsmMemoryOperand,34
481
+ Selection,ISelDAGToDAG,selectVLOp,105
482
+ Selection,ISelDAGToDAG,selectVSplat,179
483
+ Selection,ISelDAGToDAG,selectVSplatSimm5,210
484
+ Selection,ISelDAGToDAG,selectVSplatUimm5,70
485
+ Selection,ISelLowering,analyzeInputArgs,423
486
+ Selection,ISelLowering,analyzeOutputArgs,245
487
+ Selection,ISelLowering,CanLowerReturn,265
488
+ Selection,ISelLowering,computeKnownBitsForTargetNode,516
489
+ Selection,ISelLowering,ComputeNumSignBitsForTargetNode,307
490
+ Selection,ISelLowering,convertSelectOfConstantsToMath,3
491
+ Selection,ISelLowering,convertSetCCLogicToBitwiseLogic,5
492
+ Selection,ISelLowering,decomposeMulByConstant,342
493
+ Selection,ISelLowering,EmitInstrWithCustomInserter,310
494
+ Selection,ISelLowering,emitLeadingFence,267
495
+ Selection,ISelLowering,emitMaskedAtomicCmpXchgIntrinsic,431
496
+ Selection,ISelLowering,emitMaskedAtomicRMWIntrinsic,315
497
+ Selection,ISelLowering,emitTrailingFence,114
498
+ Selection,ISelLowering,getAddr,365
499
+ Selection,ISelLowering,getConstraintType,26
500
+ Selection,ISelLowering,getDynamicTLSAddr,39
501
+ Selection,ISelLowering,getExceptionPointerRegister,7
502
+ Selection,ISelLowering,getExceptionSelectorRegister,6
503
+ Selection,ISelLowering,getExtendForAtomicCmpSwapArg,6
504
+ Selection,ISelLowering,getExtendForAtomicOps,5
505
+ Selection,ISelLowering,getInlineAsmMemConstraint,12
506
+ Selection,ISelLowering,getRegForInlineAsmConstraint,602
507
+ Selection,ISelLowering,getRegisterByName,372
508
+ Selection,ISelLowering,getSetCCResultType,14
509
+ Selection,ISelLowering,getStaticTLSAddr,354
510
+ Selection,ISelLowering,getSubtarget,6
511
+ Selection,ISelLowering,getTargetNodeName,461
512
+ Selection,ISelLowering,getTgtMemIntrinsic,388
513
+ Selection,ISelLowering,hasBitPreservingFPLogic,10
514
+ Selection,ISelLowering,isCheapToSpeculateCtlz,4
515
+ Selection,ISelLowering,isCheapToSpeculateCttz,6
516
+ Selection,ISelLowering,isDesirableToCommuteWithShift,558
517
+ Selection,ISelLowering,isEligibleForTailCallOptimization,692
518
+ Selection,ISelLowering,isFMAFasterThanFMulAndFAdd,302
519
+ Selection,ISelLowering,isFPImmLegal,24
520
+ Selection,ISelLowering,isLegalAddImmediate,7
521
+ Selection,ISelLowering,isLegalAddressingMode,27
522
+ Selection,ISelLowering,isLegalICmpImmediate,8
523
+ Selection,ISelLowering,isSExtCheaperThanZExt,14
524
+ Selection,ISelLowering,isTruncateFree,34
525
+ Selection,ISelLowering,isTruncateFree2,40
526
+ Selection,ISelLowering,isZExtFree,479
527
+ Selection,ISelLowering,LowerAsmOperandForConstraint,422
528
+ Selection,ISelLowering,LowerBlockAddress,23
529
+ Selection,ISelLowering,LowerCall,5547
530
+ Selection,ISelLowering,LowerConstantPool,19
531
+ Selection,ISelLowering,lowerEXTRACT_VECTOR_ELT,351
532
+ Selection,ISelLowering,LowerFormalArguments,2978
533
+ Selection,ISelLowering,LowerFRAMEADDR,69
534
+ Selection,ISelLowering,LowerGlobalAddress,55
535
+ Selection,ISelLowering,LowerGlobalTLSAddress,52
536
+ Selection,ISelLowering,lowerINSERT_VECTOR_ELT,481
537
+ Selection,ISelLowering,LowerINTRINSIC_W_CHAIN,1953
538
+ Selection,ISelLowering,LowerINTRINSIC_WO_CHAIN,414
539
+ Selection,ISelLowering,LowerJumpTable,46
540
+ Selection,ISelLowering,LowerOperation,1384
541
+ Selection,ISelLowering,LowerReturn,2083
542
+ Selection,ISelLowering,LowerRETURNADDR,206
543
+ Selection,ISelLowering,lowerSELECT,243
544
+ Selection,ISelLowering,lowerShiftLeftParts,478
545
+ Selection,ISelLowering,lowerShiftRightParts,743
546
+ Selection,ISelLowering,lowerSPLATVECTOR,828
547
+ Selection,ISelLowering,LowerVASTART,93
548
+ Selection,ISelLowering,lowerVectorMaskExt,678
549
+ Selection,ISelLowering,lowerVectorMaskTrunc,567
550
+ Selection,ISelLowering,mayBeEmittedAsTailCall,127
551
+ Selection,ISelLowering,NodeType,109
552
+ Selection,ISelLowering,normaliseSetCC,41
553
+ Selection,ISelLowering,PerformDAGCombine,3528
554
+ Selection,ISelLowering,ReplaceNodeResults,5797
555
+ Selection,ISelLowering,shouldConsiderGEPOffsetSplit,6
556
+ Selection,ISelLowering,shouldConvertConstantLoadToIntImm,4
557
+ Selection,ISelLowering,shouldExpandAtomicCmpXchgInIR,69
558
+ Selection,ISelLowering,shouldExpandAtomicRMWInIR,47
559
+ Selection,ISelLowering,shouldExpandShift,15
560
+ Selection,ISelLowering,shouldExtendTypeInLibCall,85
561
+ Selection,ISelLowering,shouldInsertFencesForAtomic,6
562
+ Selection,ISelLowering,shouldSignExtendTypeInLibCall,11
563
+ Selection,ISelLowering,TargetLowering,5993
564
+ Selection,ISelLowering,targetShrinkDemandedConstant,1157
565
+ Selection,ISelLowering,validateCCReservedRegs,182
566
+ Selection,LegalizeInfo,LegalizerInfo,16
567
+ Selection,MCInstLower,lowerMachineInstrToMCInst,774
568
+ Selection,MCInstLower,lowerMachineOperandToMCOperand,129
569
+ Selection,MCInstLower,lowerSymbolOperand,729
Scripts/Exp/Correction/calculate_correction.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import csv
2
+
3
+ import pathlib
4
+ import time
5
+
6
+ folder = str(pathlib.Path(__file__).parent.resolve())
7
+
8
+ def sum_time_by_name(csv_file_path):
9
+ time_sums = {}
10
+
11
+ with open(folder+csv_file_path, mode='r', encoding='utf-8') as csv_file:
12
+ csv_reader = csv.reader(csv_file)
13
+ next(csv_reader)
14
+ for row in csv_reader:
15
+ name = row[0].lower()
16
+ time_seconds = float(row[3])
17
+ if name not in time_sums.keys():
18
+ time_sums[name] = time_seconds
19
+ else:
20
+ time_sums[name] += time_seconds
21
+
22
+ return time_sums
23
+
24
+
25
+ result_A = sum_time_by_name("/Dev_A.csv")
26
+
27
+ result_B = sum_time_by_name("/Dev_B.csv")
28
+
29
+ with open(folder+"/Correction.csv", mode='w', newline='', encoding='utf-8') as out_file:
30
+ csv_writer = csv.writer(out_file)
31
+ for k in result_A.keys():
32
+ csv_writer.writerow(["Dev A", k, round(result_A[k]/3600.0, 2)])
33
+ for k in result_B.keys():
34
+ csv_writer.writerow(["Dev B", k, round(result_B[k]/3600.0, 2)])
Scripts/Exp/Performance/BenchMark.xlsx DELETED
Binary file (20.2 kB)
 
Scripts/Exp/Performance/LLVM-RI5CY.csv ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Case,Time (llvm-base -O0),Time (llvm-base -O3),Time (llvm-vega -O3)
2
+ sequential_bare_test:dct ,844.21,648.42,639.62
3
+ sequential_bare_test:rijndael,1931.75,1096.92,1086.23
4
+ sequential_bare_test:jacobi-2d-imper,714.09,497.83,488.85
5
+ sequential_bare_test:bitDescriptor,678.27,313.83,308.47
6
+ sequential_bare_test:stencil_vect,678.51,329.75,324.56
7
+ sequential_bare_test:fir,672.44,289.27,291.87
8
+ sequential_bare_test:stencil,377.04,230.43,233.8
9
+ sequential_bare_test:ipm,657.87,297.08,302.72
10
+ sequential_bare_test:towerofhanoi,466.92,285.25,284.08
11
+ sequential_bare_test:crc32,2000.24,1542.23,1532.16
12
+ sequential_bare_test:conv2d,582.98,258.19,262.64
13
+ sequential_bare_test:seidel,469.66,328.91,327.65
14
+ sequential_bare_test:fibonacci,1260.03,539.09,541.86
15
+ sequential_bare_test:gauss-2d,783.3,453.31,444.61
16
+ sequential_bare_test:aes_cbc,1153.49,429.36,430.55
17
+ sequential_bare_test:bubblesort,889.5,350.96,351.36
18
+ sequential_bare_test:fdtd-1d,956.91,800.61,810
19
+ sequential_bare_test:jacobi-1d-imper,971.47,760.41,771.48
20
+ sequential_bare_test:fft,908.42,518.37,510.33
21
+ parallel_bare_tests:parMatrixMul8,2000.23,650.63,658.42
22
+ parallel_bare_tests:conv16,2000.24,1004.25,1011.85
23
+ parallel_bare_tests:parMatrixMul32,2000.19,1001.12,1004.26
24
+ parallel_bare_tests:parWorkload,1899.18,660.17,654.78
25
+ parallel_bare_tests:LU,879.8,370.01,365.92
26
+ parallel_bare_tests:LU/golden,0.1,0.09,0.09
27
+ parallel_bare_tests:multicore/stencil,385.17,238.8,241.14
28
+ parallel_bare_tests:dummypar1,689.37,438.87,441.01
29
+ parallel_bare_tests:Dijkstra/golden,0.1,0.09,0.09
30
+ parallel_bare_tests:Dijkstra,1123.67,415.06,411.39
31
+ parallel_bare_tests:parMatrixMul,743.66,376.12,379.63
32
+ parallel_bare_tests:parMatrixMul16,2000.24,783.8,773.93
33
+ riscv_tests:testBitManipulation,607.23,325.18,330.13
34
+ riscv_tests:testVecCmp,767.9,542.69,541.05
35
+ riscv_tests:testAddSubNorm,515.94,326.46,320.68
36
+ riscv_tests:testMisaligned,565.95,298.21,300.45
37
+ riscv_tests:testALU,554.23,395.23,397.37
38
+ riscv_tests:testMAC3,410.92,373.51,373.46
39
+ riscv_tests:testVecArith,696.61,427.99,434.34
40
+ riscv_tests:testDotMul,807.81,458.03,455.22
41
+ riscv_tests:testVecLogic,580,386.63,381.06
42
+ riscv_tests:testCnt,454.3,261.02,261.72
43
+ riscv_tests:testVecRelat,436.19,262.06,263.42
44
+ riscv_tests:testShufflePack,525.33,309.42,314.76
45
+ riscv_tests:testMUL,931.43,627.89,619.58
46
+ riscv_tests:testMacNorm,653.43,377.64,370.93
47
+ riscv_tests:testVariadic,410,218.87,220.61
48
+ riscv_tests:testMAC,424.92,299.48,303.06
49
+ riscv_tests:testLoadStore,577.88,386.95,394.04
50
+ riscv_tests:testALUExt,466.44,334.77,330.55
51
+ riscv_tests:testBuiltins,1446.37,864.55,851.72
52
+ riscv_tests_soc:testBitManipulation,453.03,254.46,250.59
53
+ riscv_tests_soc:testVecCmp,569.15,441.93,434.14
54
+ riscv_tests_soc:testAddSubNorm,430.51,256.87,257.5
55
+ riscv_tests_soc:testMisaligned,347.48,212.04,210.68
56
+ riscv_tests_soc:testALU,425.94,306.2,305.34
57
+ riscv_tests_soc:testMAC3,473.26,330.32,332.7
58
+ riscv_tests_soc:testVecArith,518.19,313.03,318.73
59
+ riscv_tests_soc:testDotMul,506.14,335.31,334.24
60
+ riscv_tests_soc:testVecLogic,458.08,298.29,300.23
61
+ riscv_tests_soc:testCnt,360.29,227.33,229.18
62
+ riscv_tests_soc:testVecRelat,425.43,240.17,242.62
63
+ riscv_tests_soc:testShufflePack,374.71,241.31,237.55
64
+ riscv_tests_soc:testMUL,696.85,475.79,467.44
65
+ riscv_tests_soc:testMacNorm,490.52,252.67,252.02
66
+ riscv_tests_soc:testVariadic,321.01,182.61,181.01
67
+ riscv_tests_soc:testMAC,309.85,244.54,249.48
68
+ riscv_tests_soc:testLoadStore,409.3,271.1,276.01
69
+ riscv_tests_soc:testALUExt,330.74,245.24,244.64
70
+ riscv_tests_soc:testBuiltins,990.94,537.7,535.43
Scripts/Exp/Performance/LLVM-RISCV.csv ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Case,Time (llvm-base -O0),Time (llvm-base -O3),Time (llvm-vega -O3)
2
+ 500,5178.56,3144.76,3145.74
3
+ 502,7883.87,2008.79,2019.97
4
+ 505,2723.25,1542.69,1542.35
5
+ 508,12052.47,9994.95,10028.14
6
+ 510,28679.72,10280.97,10313.44
7
+ 511,18407.66,11545.31,11562.5
8
+ 519,10790.86,8316.93,8274.9
9
+ 520,9441.19,2125.08,2119.07
10
+ 523,13872.25,1845.85,1849.23
11
+ 525,445.68,126.48,127.38
12
+ 526,9304.23,5720.65,5759.43
13
+ 531,3919.83,1975.72,1980.25
14
+ 538,35220.96,22102.29,22111.76
15
+ 541,22602.29,3898.33,3929.8
16
+ 544,9927.67,6558.94,6614.82
17
+ 557,3601.11,1510.37,1511.34
18
+ 600,5274.71,3113.34,3112.05
19
+ 602,18135.64,3323.8,3318.74
20
+ 605,5477.68,3402.37,3398.17
21
+ 619,34229.77,25985.11,25996.42
22
+ 620,9480.42,2211.03,2200.93
23
+ 623,13689.97,1818.02,1833.97
24
+ 625,446.11,125.9,126.92
25
+ 631,5368.49,2566.73,2558.85
26
+ 638,479666.38,386191.85,389230.12
27
+ 641,25586.98,3907.47,3939.14
28
+ 644,64732.17,43677.17,43481.06
29
+ 657,19857.14,8459.01,8450.12
Scripts/Exp/Performance/LLVM-xCORE.csv ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Case,Time (llvm-base -O0),Time (llvm-base -O3),Time (llvm-vega -O3)
2
+ crc_32,52.25,15.55,15.62
3
+ picojpeg,117.65,44,44.16
4
+ qrtest,68.68,32.78,32.80
5
+ tarfind,21.11,8.79,8.83
6
+ libst,105.41,92.83,92.73
7
+ libhuffbench,59.5,21.32,21.44
8
+ nettle-sha256,65.79,46.13,46.25
9
+ nettle-aes,93.82,43.75,43.55
10
+ primecount,61.32,21.66,21.68
11
+ md5,39.8,18.03,17.94
12
+ mont64,124.67,46.69,46.71
13
+ libslre,67.48,36.87,36.77
14
+ libnsichneu,44.34,27.34,27.34
15
+ matmult-int,84.91,39.04,39.85
16
+ libud,111.48,56.27,56.5
17
+ combined,62.89,24.6,24.56
18
+ libwikisort,54.52,27.23,26.94
19
+ libedn,144.46,40.41,40.74
20
+ libstatemate,29.44,21.8,21.85
21
+ basicmath_small,99.8,93.41,92.96
22
+ libminver,117.05,96.42,95.66
23
+ nbody,59.36,53.97,54.07
Scripts/Exp/Performance/calculate_perf.py ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import csv
2
+
3
+ import pathlib
4
+ import time
5
+
6
+ folder = str(pathlib.Path(__file__).parent.resolve())
7
+
8
+ with open(folder+"/Perf.csv", mode='w', newline='', encoding='utf-8') as out_file:
9
+ csv_writer = csv.writer(out_file)
10
+ csv_writer.writerow(["Target", "Case", "LLVM-Base", "LLVM-VEGA"])
11
+
12
+ with open(folder+"/LLVM-RISCV.csv", mode='r', encoding='utf-8') as csv_file:
13
+ csv_reader = csv.reader(csv_file)
14
+ next(csv_reader)
15
+ for row in csv_reader:
16
+ csv_writer.writerow(["RISCV", row[0], round(float(row[1]) / float(row[2]), 6), round(float(row[1]) / float(row[3]), 6)])
17
+
18
+ with open(folder+"/LLVM-RI5CY.csv", mode='r', encoding='utf-8') as csv_file:
19
+ csv_reader = csv.reader(csv_file)
20
+ next(csv_reader)
21
+ for row in csv_reader:
22
+ csv_writer.writerow(["RI5CY", row[0], round(float(row[1]) / float(row[2]), 6), round(float(row[1]) / float(row[3]), 6)])
23
+
24
+ with open(folder+"/LLVM-xCORE.csv", mode='r', encoding='utf-8') as csv_file:
25
+ csv_reader = csv.reader(csv_file)
26
+ next(csv_reader)
27
+ for row in csv_reader:
28
+ csv_writer.writerow(["xCORE", row[0], round(float(row[1]) / float(row[2]), 6), round(float(row[1]) / float(row[3]), 6)])