[llvm-commits] Added MCSymbol::isTemorary() use to JIT EH

Garrison Venn gvenn.cfe.dev at gmail.com
Sat Mar 27 06:39:09 PDT 2010


The following patch adds an isTemporary() check to where isDefined() is being
used.

1) This change was necessary to prevent the examples/ExceptionDemo from failing in 2.8.
2) Changes were made in two places: MachineModuleInfo and JITDwarfException.
3) The changes to MachineModuleInfo also affect DwarfException, and this has
     NOT been tested unless the unit tests somehow measure this.
4) The changes to JITDwarfEmitter::EmitFrameMoves() make it further out of synch with 
     respect to DwarfPrinter::EmitFrameMoves(), but again, beyond any such 
     incorporation into the unittests, I have NOT tested such a difference.
5) At this point in time there is no analogous unit test capturing the behavior of 
     ExceptionDemo. This can be created if this patch, or another with the same
     effective fix is applied and added to the repository.
6) Currently to test with ExceptionDemo (for a Debug build):
	a) setenv BUILD_EXAMPLES 1 (export BUILD_EXAMPLES=1)
	b) make
	c) Debug/examples/ExceptionDemo 2 3 7 -1
	d) if the demo does not fault the fix works
7) After patch was applied I only tested with ExceptionDemo and make unittests

Should I check this in?
Please note the above comments on DwarfException and DwarfPrinter and lack of complete testing.

Thanks in advance

Garrison

-------------- next part --------------
A non-text attachment was scrubbed...
Name: MCSymbol_JIT_Temporary_addition.patch
Type: application/octet-stream
Size: 2101 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100327/8f59bbbd/attachment.obj>


More information about the llvm-commits mailing list