Name Date Size #Lines LOC

..13-Mar-2025-

ABIInfo.hH A D13-Mar-20255 KiB14983

Address.hH A D13-Mar-20256 KiB184120

BackendUtil.cppH A D13-Mar-202548.6 KiB1,239998

CGAtomic.cppH A D13-Mar-202589.3 KiB2,1791,723

CGBlocks.cppH A D13-Mar-2025108.7 KiB2,9081,950

CGBlocks.hH A D13-Mar-202510 KiB324222

CGBuilder.hH A D13-Mar-202516.3 KiB380275

CGBuiltin.cppH A D13-Mar-2025799.4 KiB19,41016,725

CGCUDANV.cppH A D13-Mar-202550.5 KiB1,207871

CGCUDARuntime.cppH A D13-Mar-20251.5 KiB4624

CGCUDARuntime.hH A D13-Mar-20254.1 KiB13175

CGCXX.cppH A D13-Mar-202511.8 KiB308181

CGCXXABI.cppH A D13-Mar-202513.2 KiB357255

CGCXXABI.hH A D13-Mar-202528.5 KiB676329

CGCall.cppH A D13-Mar-2025218.9 KiB5,6223,955

CGCall.hH A D13-Mar-202511.6 KiB384276

CGClass.cppH A D13-Mar-2025115.9 KiB3,0062,089

CGCleanup.cppH A D13-Mar-202551 KiB1,383870

CGCleanup.hH A D13-Mar-202519.2 KiB636406

CGCoroutine.cppH A D13-Mar-202527.2 KiB725466

CGDebugInfo.cppH A D13-Mar-2025220 KiB5,7264,265

CGDebugInfo.hH A D13-Mar-202537.4 KiB870445

CGDecl.cppH A D13-Mar-2025104.5 KiB2,7161,934

CGDeclCXX.cppH A D13-Mar-202543.6 KiB1,109731

CGException.cppH A D13-Mar-202584.7 KiB2,2861,520

CGExpr.cppH A D13-Mar-2025223.3 KiB5,6524,179

CGExprAgg.cppH A D13-Mar-202581.3 KiB2,1811,510

CGExprCXX.cppH A D13-Mar-202591.1 KiB2,3221,561

CGExprComplex.cppH A D13-Mar-202545.2 KiB1,190888

CGExprConstant.cppH A D13-Mar-202587.6 KiB2,3771,717

CGExprScalar.cppH A D13-Mar-2025204.5 KiB5,1983,683

CGGPUBuiltin.cppH A D13-Mar-20258.3 KiB216133

CGHLSLRuntime.cppH A D13-Mar-20251.8 KiB5330

CGHLSLRuntime.hH A D13-Mar-2025994 3916

CGLoopInfo.cppH A D13-Mar-202530.6 KiB842674

CGLoopInfo.hH A D13-Mar-202510.9 KiB304141

CGNonTrivialStruct.cppH A D13-Mar-202541.2 KiB1,001794

CGObjC.cppH A D13-Mar-2025152.6 KiB4,0332,702

CGObjCGNU.cppH A D13-Mar-2025172.1 KiB4,2263,025

CGObjCMac.cppH A D13-Mar-2025304.7 KiB7,9245,121

CGObjCRuntime.cppH A D13-Mar-202517.9 KiB479330

CGObjCRuntime.hH A D13-Mar-202516.5 KiB373208

CGOpenCLRuntime.cppH A D13-Mar-20257.3 KiB192142

CGOpenCLRuntime.hH A D13-Mar-20253.7 KiB10853

CGOpenMPRuntime.cppH A D13-Mar-2025545.4 KiB13,07310,420

CGOpenMPRuntime.hH A D13-Mar-2025116.7 KiB2,539998

CGOpenMPRuntimeGPU.cppH A D13-Mar-2025162.7 KiB4,0293,073

CGOpenMPRuntimeGPU.hH A D13-Mar-202520.9 KiB454164

CGRecordLayout.hH A D13-Mar-20258.5 KiB239100

CGRecordLayoutBuilder.cppH A D13-Mar-202544.1 KiB1,055703

CGStmt.cppH A D13-Mar-2025107.5 KiB2,9102,024

CGStmtOpenMP.cppH A D13-Mar-2025329 KiB7,8876,476

CGVTT.cppH A D13-Mar-20256.8 KiB177125

CGVTables.cppH A D13-Mar-202552.3 KiB1,322888

CGVTables.hH A D13-Mar-20256.4 KiB16279

CGValue.hH A D13-Mar-202522.1 KiB677446

CMakeLists.txtH A D13-Mar-20251.5 KiB10096

CodeGenABITypes.cppH A D13-Mar-20255 KiB13193

CodeGenAction.cppH A D13-Mar-202547.6 KiB1,247897

CodeGenFunction.cppH A D13-Mar-2025105.9 KiB2,7771,898

CodeGenFunction.hH A D13-Mar-2025208.5 KiB4,8532,826

CodeGenModule.cppH A D13-Mar-2025266.6 KiB7,0094,969

CodeGenModule.hH A D13-Mar-202568 KiB1,722849

CodeGenPGO.cppH A D13-Mar-202538.2 KiB1,123830

CodeGenPGO.hH A D13-Mar-20254.5 KiB12473

CodeGenTBAA.cppH A D13-Mar-202518.6 KiB501337

CodeGenTBAA.hH A D13-Mar-20259.2 KiB257145

CodeGenTypeCache.hH A D13-Mar-20253.5 KiB13178

CodeGenTypes.cppH A D13-Mar-202535 KiB961675

CodeGenTypes.hH A D13-Mar-202513.4 KiB315156

ConstantEmitter.hH A D13-Mar-20256.6 KiB18387

ConstantInitBuilder.cppH A D13-Mar-202510.3 KiB300221

CoverageMappingGen.cppH A D13-Mar-202565.4 KiB1,7901,251

CoverageMappingGen.hH A D13-Mar-20255.8 KiB179103

EHScopeStack.hH A D13-Mar-202514.5 KiB427197

ItaniumCXXABI.cppH A D13-Mar-2025187.5 KiB4,8393,086

MacroPPCallbacks.cppH A D13-Mar-20256.4 KiB200146

MacroPPCallbacks.hH A D13-Mar-20254.5 KiB12250

MicrosoftCXXABI.cppH A D13-Mar-2025181.3 KiB4,4803,191

ModuleBuilder.cppH A D13-Mar-202512.9 KiB373264

ObjectFilePCHContainerOperations.cppH A D13-Mar-202514 KiB389296

PatternInit.cppH A D13-Mar-20254.1 KiB8452

PatternInit.hH A D13-Mar-2025722 2813

README.txtH A D13-Mar-20251.8 KiB4835

SanitizerMetadata.cppH A D13-Mar-20254.2 KiB10977

SanitizerMetadata.hH A D13-Mar-20251.6 KiB5332

SwiftCallingConv.cppH A D13-Mar-202530.4 KiB884579

TargetInfo.cppH A D13-Mar-2025434.1 KiB11,8708,058

TargetInfo.hH A D13-Mar-202516 KiB372154

VarBypassDetector.cppH A D13-Mar-20255.1 KiB168121

VarBypassDetector.hH A D13-Mar-20252.3 KiB7131

README.txt

1IRgen optimization opportunities.
2
3//===---------------------------------------------------------------------===//
4
5The common pattern of
6--
7short x; // or char, etc
8(x == 10)
9--
10generates an zext/sext of x which can easily be avoided.
11
12//===---------------------------------------------------------------------===//
13
14Bitfields accesses can be shifted to simplify masking and sign
15extension. For example, if the bitfield width is 8 and it is
16appropriately aligned then is is a lot shorter to just load the char
17directly.
18
19//===---------------------------------------------------------------------===//
20
21It may be worth avoiding creation of alloca's for formal arguments
22for the common situation where the argument is never written to or has
23its address taken. The idea would be to begin generating code by using
24the argument directly and if its address is taken or it is stored to
25then generate the alloca and patch up the existing code.
26
27In theory, the same optimization could be a win for block local
28variables as long as the declaration dominates all statements in the
29block.
30
31NOTE: The main case we care about this for is for -O0 -g compile time
32performance, and in that scenario we will need to emit the alloca
33anyway currently to emit proper debug info. So this is blocked by
34being able to emit debug information which refers to an LLVM
35temporary, not an alloca.
36
37//===---------------------------------------------------------------------===//
38
39We should try and avoid generating basic blocks which only contain
40jumps. At -O0, this penalizes us all the way from IRgen (malloc &
41instruction overhead), all the way down through code generation and
42assembly time.
43
44On 176.gcc:expr.ll, it looks like over 12% of basic blocks are just
45direct branches!
46
47//===---------------------------------------------------------------------===//
48