Vishal Sharma 8948fa423c Fix bool casting logic when using initializer syntax (#1577) há 7 anos atrás
..
ABIInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
BackendUtil.cpp 6121df782a [linux-port] Correct problematic initializations (#1321) há 7 anos atrás
CGAtomic.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGBlocks.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGBlocks.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGBuilder.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGBuiltin.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGCUDANV.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGCUDARuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGCUDARuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGCXX.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGCXXABI.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGCXXABI.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGCall.cpp 6663dac50f Merge branch 'master' into user/texr/integrate-master há 7 anos atrás
CGCall.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGClass.cpp 57f1909f5d [linux-port] Fix preprocessor warnings (#1323) há 7 anos atrás
CGCleanup.cpp b9f2c78314 [linux-port] Evade unused in LLVM code (#1327) há 7 anos atrás
CGCleanup.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGDebugInfo.cpp c66b785d72 Add builtin types for min precision and half (#1492) há 7 anos atrás
CGDebugInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGDecl.cpp ccbb0ec117 [linux-port] Add missing case statements (#1346) há 7 anos atrás
CGDeclCXX.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGException.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGExpr.cpp 171fc86a7e Fix crash when get matrix element on a function call. há 7 anos atrás
CGExprAgg.cpp 5481aca58f [linux-port] Remove unused from HLSL code (#1315) há 7 anos atrás
CGExprCXX.cpp d0470046d6 Fix array operator access to a buffer resource vector member (#1501) há 7 anos atrás
CGExprComplex.cpp ccbb0ec117 [linux-port] Add missing case statements (#1346) há 7 anos atrás
CGExprConstant.cpp 6539689175 Make sure default val for cbuffer element is ignored. (#921) há 8 anos atrás
CGExprScalar.cpp b9f2c78314 [linux-port] Evade unused in LLVM code (#1327) há 7 anos atrás
CGHLSLMS.cpp 8948fa423c Fix bool casting logic when using initializer syntax (#1577) há 7 anos atrás
CGHLSLRuntime.cpp db586162c2 Move some functions from clang CodeGen to clang AST (#193) há 8 anos atrás
CGHLSLRuntime.h aec310b4ea Use memcpy to copy when possible in clang code gen to avoid flatten too early. (#247) há 8 anos atrás
CGLoopInfo.cpp 6121df782a [linux-port] Correct problematic initializations (#1321) há 7 anos atrás
CGLoopInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGObjC.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGObjCGNU.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGObjCMac.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGObjCRuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGObjCRuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGOpenCLRuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGOpenCLRuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGOpenMPRuntime.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGOpenMPRuntime.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGRecordLayout.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGRecordLayoutBuilder.cpp 40369a5884 Structure alignment Change (#721) há 8 anos atrás
CGStmt.cpp ccbb0ec117 [linux-port] Add missing case statements (#1346) há 7 anos atrás
CGStmtOpenMP.cpp 68185161a2 [linux-port] Fix warnings from lambda functions (#1320) há 7 anos atrás
CGVTT.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGVTables.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGVTables.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CGValue.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CMakeLists.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenABITypes.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenAction.cpp d5bb3089cf Add support for custom allocators (#390) há 8 anos atrás
CodeGenFunction.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenFunction.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenModule.cpp b9f2c78314 [linux-port] Evade unused in LLVM code (#1327) há 7 anos atrás
CodeGenModule.h d5bb3089cf Add support for custom allocators (#390) há 8 anos atrás
CodeGenPGO.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenPGO.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenTBAA.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenTBAA.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CodeGenTypes.cpp 89697bbad5 Merge branch 'master' into dxr-master há 7 anos atrás
CodeGenTypes.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CoverageMappingGen.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
CoverageMappingGen.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
EHScopeStack.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
ItaniumCXXABI.cpp c66b785d72 Add builtin types for min precision and half (#1492) há 7 anos atrás
MicrosoftCXXABI.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
ModuleBuilder.cpp 5b41cf7090 Change llvm.dbg.contents into dx.source.contents. (#1287) há 7 anos atrás
ObjectFilePCHContainerOperations.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
README.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
SanitizerMetadata.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
SanitizerMetadata.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás
TargetInfo.cpp d5bb3089cf Add support for custom allocators (#390) há 8 anos atrás
TargetInfo.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) há 9 anos atrás

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!

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