llvm-6502/lib/Transforms
Chris Lattner 9ca96410fc 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
2006-02-08 03:25:32 +00:00
..
Hello Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Instrumentation Add explicit #includes of <iostream> 2006-01-22 22:53:01 +00:00
IPO add a bunch more optimizations for unary double math functions 2006-01-23 06:24:46 +00:00
Scalar Use EraseInstFromFunction in a few cases to put the uses of the removed 2006-02-08 03:25:32 +00:00
Utils teach the cloner to handle inline asms 2006-01-26 01:55:22 +00:00
ExprTypeConvert.cpp Add explicit #includes of <iostream> 2006-01-22 22:53:01 +00:00
LevelRaise.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
Makefile DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
TransformInternals.cpp Remove dead #include 2005-10-29 04:41:30 +00:00
TransformInternals.h ConvertibleToGEP always returns 0, remove some old crufty code which 2005-07-26 16:38:28 +00:00