diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2010-04-13 23:34:15 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2010-04-13 23:34:15 +0000 |
| commit | 3447a02d5f37ff007cec790f80a259a8c4904621 (patch) | |
| tree | bb9f313d291a3386f213a3ce84c462a1ca2119f7 /clang/include/clang-c | |
| parent | 780792dc86da5a7ccac263ab71bbcc56365cf83e (diff) | |
| download | bcm5719-llvm-3447a02d5f37ff007cec790f80a259a8c4904621.tar.gz bcm5719-llvm-3447a02d5f37ff007cec790f80a259a8c4904621.zip | |
IRgen: Move EmitLoadOfBitfieldLValue to use new CGBitfieldInfo::AccessInfo decomposition, instead of computing the access policy itself.
- This lets the method focus slightly more on emitting clean IR to honor the policy which has been selected. On 403.gcc's combine.c, x86_64, -O0, this reduces the number of lines in the .ll file (~= # of instructions) by 2.5%.
- No intended functionality change -- at -O3 this should produce equivalent if not identical output. On 403.gcc's combine.c, x86_64, -O3, this isn't quite true and some of the changes are regressions, but I'm not going to worry about that until we move to a new access policy.
- There is still some room for improvement in the generated IR, in particular we can usually fold the sign-extension of the bit-field into one of the component access. See the FIXME.
llvm-svn: 101192
Diffstat (limited to 'clang/include/clang-c')
0 files changed, 0 insertions, 0 deletions

