[LLVMdev] PATCH: Use size reduction -- wave2

Gabor Greif gabor at mac.com
Tue Apr 15 15:32:38 PDT 2008


Hi All,

here comes the patch for the second wave of Use class size reduction.

I have included all the machinery that is needed, and it is
*active*. The User* inside of Use is even sometimes NULL,
but the algorithm is able to recover it.
If there is a non-null User* present, then I am
asserting that it equals the computed value.

I did not receive feedback for the algorithmic part yet,
so I assume, you are comfortable with it.

Unfortunately I had to introduce a new GlobalVariable::Create
mechanism (I hoped to have nailed all in wave 1, but life is cruel).
I will submit scripts for the easy conversion of external projects
like the last time.

I have split this review material into 3 files, corresponding to
- essential changes,
- related changes in .cpp files,
- collateral nitty-gritty, mostly mechanical stuff.

Outlook: The actual removal of the Use::U member
will happen in wave 3 after this stuff is merged to
trunk. I do not expect any problems.
Btw., I have already performed a test merge
and it also passes all tests (deja, clang, test-suite).

Cheers,

	Gabor

--------------------- STATS ------------------
ggreif$ ls -l wave2*
-rw-r--r--   1 ggreif  ggreif  79367 Apr 16 00:20 wave2-essentials.diff
-rw-r--r--   1 ggreif  ggreif  51795 Apr 16 00:24 wave2-impl.diff
-rw-r--r--   1 ggreif  ggreif  25300 Apr 16 00:25 wave2-nittygritty.diff

ggreif$ wc wave2*
     2189    9005   79367 wave2-essentials.diff
     1408    4793   51795 wave2-impl.diff
      521    1995   25300 wave2-nittygritty.diff
     4118   15793  156462 total

-------------- next part --------------
A non-text attachment was scrubbed...
Name: wave2-essentials.diff
Type: application/octet-stream
Size: 79367 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080416/741431ed/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wave2-impl.diff
Type: application/octet-stream
Size: 51795 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080416/741431ed/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wave2-nittygritty.diff
Type: application/octet-stream
Size: 25300 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080416/741431ed/attachment-0002.obj>
-------------- next part --------------




More information about the llvm-dev mailing list