summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-09-18 06:30:59 +0000
committerChris Lattner <sabre@nondot.org>2005-09-18 06:30:59 +0000
commit797dee77053e4bbf0b95ae02ab725b279cf817ef (patch)
tree907280b0f7a80507b57bed54ec2eaa1ec299f455 /llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
parent01f56c68e947157ab3aa6a3bfde7ebde73d18821 (diff)
downloadbcm5719-llvm-797dee77053e4bbf0b95ae02ab725b279cf817ef.tar.gz
bcm5719-llvm-797dee77053e4bbf0b95ae02ab725b279cf817ef.zip
Compile
struct S { unsigned int i : 6, j : 11, k : 15; } b; void plus2 (unsigned int x) { b.j += x; } to: plus2: mov %EAX, DWORD PTR [b] mov %ECX, %EAX and %ECX, 131008 mov %EDX, DWORD PTR [%ESP + 4] shl %EDX, 6 add %EDX, %ECX and %EDX, 131008 and %EAX, -131009 or %EDX, %EAX mov DWORD PTR [b], %EDX ret instead of: plus2: mov %EAX, DWORD PTR [b] mov %ECX, %EAX shr %ECX, 6 and %ECX, 2047 add %ECX, DWORD PTR [%ESP + 4] shl %ECX, 6 and %ECX, 131008 and %EAX, -131009 or %ECX, %EAX mov DWORD PTR [b], %ECX ret llvm-svn: 23385
Diffstat (limited to 'llvm/lib/Transforms/Utils/DemoteRegToStack.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud