forked from OSchip/llvm-project
16ba91396a
strings instead of array of strings. This reduces string copying in some not-very-important cases, but paves the way for future improvements. llvm-svn: 59494 |
||
---|---|---|
.. | ||
CGBuilder.h | ||
CGBuiltin.cpp | ||
CGCXX.cpp | ||
CGCall.cpp | ||
CGCall.h | ||
CGDebugInfo.cpp | ||
CGDebugInfo.h | ||
CGDecl.cpp | ||
CGExpr.cpp | ||
CGExprAgg.cpp | ||
CGExprComplex.cpp | ||
CGExprConstant.cpp | ||
CGExprScalar.cpp | ||
CGObjC.cpp | ||
CGObjCGNU.cpp | ||
CGObjCMac.cpp | ||
CGObjCRuntime.h | ||
CGStmt.cpp | ||
CGValue.h | ||
CMakeLists.txt | ||
CodeGenFunction.cpp | ||
CodeGenFunction.h | ||
CodeGenModule.cpp | ||
CodeGenModule.h | ||
CodeGenTypes.cpp | ||
CodeGenTypes.h | ||
Makefile | ||
ModuleBuilder.cpp | ||
README.txt |
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. //===---------------------------------------------------------------------===// Bitfields should not reload the stored value just to return the correct result. //===---------------------------------------------------------------------===//