[PATCH] Undo revision 192117

It took a while to track down, but it looks like revision 192117
(dated 2013-10-07) is the source of a DragonEgg segfault I've been
fighting with for quite some time. For details and a reproducer (less
than a page of C++ code) please see my Bugzilla report:

    Bug 18358 - "internal compiler error: Segmentation fault" on C++ code

The real code that this affects is my Byfl tool,
https://github.com/losalamos/Byfl, which compiles with LLVM revision
192116 and earlier but not with revision 192117 and later.

I must admit I don't understand exactly what r192117 is doing, but
I've attached a patch that simply and stupidly reverses the changes
performed by r192117. Applying this patch to trunk (r201101) gets
Byfl and my reproducer compiling again.

Any chance this patch -- or, even better, a "real" fix for whatever
problem r192117 is introducing -- can make it into LLVM? (I've never
submitted a patch before and don't know what the formal procedure is.)

-- Scott

fix-dregg.patch (19.5 KB)

Let Matt Arsenault take a look at this. GCC is probably trying to generate code to call __memcpy_chk with LLVM’s objectsize intrinsic.