Xiang Li 2a7cd92683 Replace static const global struct for library. (#436) 8 tahun lalu
..
ABIInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
BackendUtil.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGAtomic.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGBlocks.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGBlocks.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGBuilder.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGBuiltin.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCUDANV.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCUDARuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCUDARuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCXX.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCXXABI.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCXXABI.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCall.cpp 94acf99408 Support case struct parameter used as function call argument. (#429) 8 tahun lalu
CGCall.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGClass.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCleanup.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGCleanup.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGDebugInfo.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGDebugInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGDecl.cpp 094dfa1746 Save imm initializer when possible. (#145) 8 tahun lalu
CGDeclCXX.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGException.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGExpr.cpp 6323ba161b Generate GEP for DerivedToBase instead of bitcast. (#283) 8 tahun lalu
CGExprAgg.cpp aec310b4ea Use memcpy to copy when possible in clang code gen to avoid flatten too early. (#247) 8 tahun lalu
CGExprCXX.cpp cea8048912 Use CreateTempAlloca to make sure alloca is in entry block. (#165) 8 tahun lalu
CGExprComplex.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGExprConstant.cpp 2a7cd92683 Replace static const global struct for library. (#436) 8 tahun lalu
CGExprScalar.cpp 1d0da57987 Make sure no short circuiting. (#336) 8 tahun lalu
CGHLSLMS.cpp 2a7cd92683 Replace static const global struct for library. (#436) 8 tahun lalu
CGHLSLRuntime.cpp db586162c2 Move some functions from clang CodeGen to clang AST (#193) 8 tahun lalu
CGHLSLRuntime.h aec310b4ea Use memcpy to copy when possible in clang code gen to avoid flatten too early. (#247) 8 tahun lalu
CGLoopInfo.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGLoopInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGObjC.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGObjCGNU.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGObjCMac.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGObjCRuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGObjCRuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGOpenCLRuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGOpenCLRuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGOpenMPRuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGOpenMPRuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGRecordLayout.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGRecordLayoutBuilder.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGStmt.cpp 1d0da57987 Make sure no short circuiting. (#336) 8 tahun lalu
CGStmtOpenMP.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGVTT.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGVTables.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGVTables.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CGValue.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CMakeLists.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenABITypes.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenAction.cpp d5bb3089cf Add support for custom allocators (#390) 8 tahun lalu
CodeGenFunction.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenFunction.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenModule.cpp d5bb3089cf Add support for custom allocators (#390) 8 tahun lalu
CodeGenModule.h d5bb3089cf Add support for custom allocators (#390) 8 tahun lalu
CodeGenPGO.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenPGO.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenTBAA.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenTBAA.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenTypes.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CodeGenTypes.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CoverageMappingGen.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
CoverageMappingGen.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
EHScopeStack.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
ItaniumCXXABI.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
MicrosoftCXXABI.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
ModuleBuilder.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
ObjectFilePCHContainerOperations.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
README.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
SanitizerMetadata.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
SanitizerMetadata.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu
TargetInfo.cpp d5bb3089cf Add support for custom allocators (#390) 8 tahun lalu
TargetInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 tahun lalu

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!

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