DescriptionPNaCl: Add ReplacePtrsWithInts pass for stripping out pointer types
ReplacePtrsWithInts converts IR to a normal form in which functions
don't reference any aggregate pointer types and pointer types only
appear inside a few instructions.
Change BlockAddress::replaceUsesOfWithOnConstant() to handle changing
a function's type by replacing a function with a bitcast ConstantExpr
of a new function.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3343
TEST=replace-ptrs-with-ints.ll + PNaCl toolchain trybots, torture tests, etc.
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-llvm.git;a=commit;h=9f0ec13
Patch Set 1 #Patch Set 2 : Make run_dwarf_local_var_objdump_test pass #Patch Set 3 : Cleanup #Patch Set 4 : Preserve fastcc #Patch Set 5 : Cleanup #Patch Set 6 : Cleanup #Patch Set 7 : Add test for ConstantPointerNull #
Total comments: 14
Patch Set 8 : Review: cleanup and refactor #Patch Set 9 : Review: cleanup #
Total comments: 10
Patch Set 10 : Fix alloca alignment #
Total comments: 18
Patch Set 11 : Strip out lifetime markers #Patch Set 12 : Address Eli's review comments #
Total comments: 6
Patch Set 13 : Review nits #
Messages
Total messages: 12 (0 generated)
|