Files
clang-p2996/clang/lib/CodeGen
Daniel Dunbar f7fb75044f Easy IRgen improvement for bitfields, don't emit x >> 0.
- Logic such as this quite possibly should be optional builder
   behavior.

llvm-svn: 59213
2008-11-13 02:20:34 +00:00
..
2008-11-04 05:29:05 +00:00
2008-09-25 21:02:23 +00:00
2008-11-13 01:38:36 +00:00
2008-11-13 01:38:36 +00:00

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.

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