[cfe-commits] r59213 - /cfe/trunk/lib/CodeGen/CGExpr.cpp
Daniel Dunbar
daniel at zuster.org
Wed Nov 12 18:20:34 PST 2008
Author: ddunbar
Date: Wed Nov 12 20:20:34 2008
New Revision: 59213
URL: http://llvm.org/viewvc/llvm-project?rev=59213&view=rev
Log:
Easy IRgen improvement for bitfields, don't emit x >> 0.
- Logic such as this quite possibly should be optional builder
behavior.
Modified:
cfe/trunk/lib/CodeGen/CGExpr.cpp
Modified: cfe/trunk/lib/CodeGen/CGExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExpr.cpp?rev=59213&r1=59212&r2=59213&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExpr.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExpr.cpp Wed Nov 12 20:20:34 2008
@@ -214,8 +214,9 @@
llvm::Value *Val = Builder.CreateLoad(Ptr, LV.isVolatileQualified(), "tmp");
// Shift to proper location.
- Val = Builder.CreateLShr(Val, llvm::ConstantInt::get(EltTy, StartBit),
- "bf.lo");
+ if (StartBit)
+ Val = Builder.CreateLShr(Val, llvm::ConstantInt::get(EltTy, StartBit),
+ "bf.lo");
// Mask off unused bits.
llvm::Constant *LowMask =
More information about the cfe-commits
mailing list