aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/FileManager.cpp
diff options
context:
space:
mode:
authorJin-Gu Kang <jaykang10@imrc.kist.re.kr>2011-03-13 14:05:51 +0000
committerJin-Gu Kang <jaykang10@imrc.kist.re.kr>2011-03-13 14:05:51 +0000
commitb7538c71e19052dd93368409590c9f900ac326f0 (patch)
tree6cd663c3613d73b6f6ce10b35965621d129e1cf8 /clang/lib/Basic/FileManager.cpp
parent89b17a43e70deb52153ed1a1b03fe0bcabd8b27c (diff)
downloadllvm-b7538c71e19052dd93368409590c9f900ac326f0.zip
llvm-b7538c71e19052dd93368409590c9f900ac326f0.tar.gz
llvm-b7538c71e19052dd93368409590c9f900ac326f0.tar.bz2
Add comment as following:
load and store reference same memory location, the memory location is represented by getelementptr with two uses (load and store) and the getelementptr's base is alloca with single use. At this point, instructions from alloca to store can be removed. (this pattern is generated when bitfield is accessed.) For example, %u = alloca %struct.test, align 4 ; [#uses=1] %0 = getelementptr inbounds %struct.test* %u, i32 0, i32 0;[#uses=2] %1 = load i8* %0, align 4 ; [#uses=1] %2 = and i8 %1, -16 ; [#uses=1] %3 = or i8 %2, 5 ; [#uses=1] store i8 %3, i8* %0, align 4 llvm-svn: 127565
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
0 files changed, 0 insertions, 0 deletions