diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-11-12 12:31:28 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-11-12 12:31:28 +0000 |
commit | 8787530df554f1ff5643b342b03de95a108fe97c (patch) | |
tree | 80aac09f849705df6776ebf5a47bdcae0b3989cb /lib/CodeGen | |
parent | 09b14899039d828094c06ac25d60de62608e57b7 (diff) |
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
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/README.txt | 24 |
1 files changed, 24 insertions, 0 deletions
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. + +//===---------------------------------------------------------------------===// |