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

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!

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