Splits the remaining instrument_api.h content into new files core/lib/dr_ir_utils.h and core/lib/dr_events.h, which are now directly copied to build/include.
Moves the routines dr_insert_save_fpstate(), dr_insert_restore_fpstate(), and dr_insert_get_seg_base() from dr_proc.h to dr_ir_utils.h (and documents this in the changelog), to keep them with similar routines and avoid complications with moving them to proc.h where they may pull in dependencies that are not available in the places that include proc.h.
Takes the other prior sources of dr_ir_utils.h content and sends them to new files: dr_ir_encode.h, internally core/ir/encode_api.h, included by arch_exports.h now; dr_ir_decode.h, internally core/ir/decode_api.h, containing content from decode.h, decode_fast.h, and instr.h; and dr_ir_disassemble.h, internally core/ir/disassemble_api.h. This moves opnd, instr, and instrlist disassembly declarations out of their respective headers and into the new dr_ir_disassemble.h, which is documented in the changelog.
Changes the dcontext_t type of all exported functions to void*, and adds a cast to the implementations. This shouldn't add any overhead.
Issue: #3092 (closed)