thegeorg 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
..
ABIInfo.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
Address.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
BackendUtil.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGAtomic.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGBlocks.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGBlocks.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGBuilder.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGBuiltin.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCUDANV.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCUDARuntime.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCUDARuntime.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCXX.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCXXABI.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCXXABI.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCall.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCall.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGClass.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCleanup.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCleanup.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGCoroutine.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGDebugInfo.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGDebugInfo.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGDecl.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGDeclCXX.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGException.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGExpr.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGExprAgg.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGExprCXX.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGExprComplex.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGExprConstant.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGExprScalar.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGGPUBuiltin.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGHLSLRuntime.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGHLSLRuntime.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGLoopInfo.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGLoopInfo.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGNonTrivialStruct.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGObjC.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGObjCGNU.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGObjCMac.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGObjCRuntime.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGObjCRuntime.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGOpenCLRuntime.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGOpenCLRuntime.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGOpenMPRuntime.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGOpenMPRuntime.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGOpenMPRuntimeGPU.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGOpenMPRuntimeGPU.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGRecordLayout.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGRecordLayoutBuilder.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGStmt.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGStmtOpenMP.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGVTT.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGVTables.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGVTables.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CGValue.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenABITypes.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenAction.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenFunction.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenFunction.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenModule.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenModule.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenPGO.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenPGO.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenTBAA.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenTBAA.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenTypeCache.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenTypes.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CodeGenTypes.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
ConstantEmitter.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
ConstantInitBuilder.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CoverageMappingGen.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
CoverageMappingGen.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
EHScopeStack.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
ItaniumCXXABI.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
MacroPPCallbacks.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
MacroPPCallbacks.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
MicrosoftCXXABI.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
ModuleBuilder.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
ObjectFilePCHContainerOperations.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
PatternInit.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
PatternInit.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
README.txt 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
SanitizerMetadata.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
SanitizerMetadata.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
SwiftCallingConv.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
TargetInfo.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
TargetInfo.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
VarBypassDetector.cpp 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
VarBypassDetector.h 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад
ya.make 11a895b7e1 Export clang-format16 via ydblib project 11 месяцев назад

README.txt

IRgen optimization opportunities.

//===---------------------------------------------------------------------===//

The common pattern of
--
short x; // or char, etc
(x == 10)
--
generates an zext/sext of x which can easily be avoided.

//===---------------------------------------------------------------------===//

Bitfields accesses can be shifted to simplify masking and sign
extension. For example, if the bitfield width is 8 and it is
appropriately aligned then is is a lot shorter to just load the char
directly.

//===---------------------------------------------------------------------===//

It may be worth avoiding creation of alloca's for formal arguments
for the common situation where the argument is never written to or has
its address taken. The idea would be to begin generating code by using
the argument directly and if its address is taken or it is stored to
then generate the alloca and patch up the existing code.

In theory, the same optimization could be a win for block local
variables as long as the declaration dominates all statements in the
block.

NOTE: The main case we care about this for is for -O0 -g compile time
performance, and in that scenario we will need to emit the alloca
anyway currently to emit proper debug info. So this is blocked by
being able to emit debug information which refers to an LLVM
temporary, not an alloca.

//===---------------------------------------------------------------------===//

We should try and avoid generating basic blocks which only contain
jumps. At -O0, this penalizes us all the way from IRgen (malloc &
instruction overhead), all the way down through code generation and
assembly time.

On 176.gcc:expr.ll, it looks like over 12% of basic blocks are just
direct branches!

//===---------------------------------------------------------------------===//