diff options
author | Chris Lattner <sabre@nondot.org> | 2006-02-08 03:25:32 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-02-08 03:25:32 +0000 |
commit | 9ca96410fc2fa4b4643a30791283359f8e1787f6 (patch) | |
tree | fdc2b33fb06dc0d21e62de66047dec16f37958e0 /lib/CodeGen/MachineBasicBlock.cpp | |
parent | fe243ebb64cccc649bb31e76163da58b68e8dd84 (diff) |
Use EraseInstFromFunction in a few cases to put the uses of the removed
instruction onto the worklist (in case they are now dead).
Add a really trivial local DSE implementation to help out bitfield code.
We now fold this:
struct S {
unsigned char a : 1, b : 1, c : 1, d : 2, e : 3;
S();
};
S::S() : a(0), b(0), c(1), d(0), e(6) {}
to this:
void %_ZN1SC1Ev(%struct.S* %this) {
entry:
%tmp.1 = getelementptr %struct.S* %this, int 0, uint 0
store ubyte 38, ubyte* %tmp.1
ret void
}
much earlier (in gccas instead of only in gccld after DSE runs).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26050 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions