From: Daniel Dunbar Date: Wed, 12 Nov 2008 12:31:28 +0000 (+0000) Subject: Start a README.txt of possible optimizations to do in IRgen. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8787530df554f1ff5643b342b03de95a108fe97c;p=clang Start a README.txt of possible optimizations to do in IRgen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59130 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/README.txt b/lib/CodeGen/README.txt new file mode 100644 index 0000000000..33fbfdb744 --- /dev/null +++ b/lib/CodeGen/README.txt @@ -0,0 +1,24 @@ +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. + +//===---------------------------------------------------------------------===//