summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/StackMaps.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Liveness Analysis PassAndrew Trick2013-12-131-12/+105
| | | | llvm-svn: 197254
* Refactor a lot of patchpoint/stackmap related code to simplify and make itLang Hames2013-11-291-6/+58
| | | | | | | | | | | | | | | | | | | | | | target independent. Most of the x86 specific stackmap/patchpoint handling was necessitated by the use of the native address-mode format for frame index operands. PEI has now been modified to treat stackmap/patchpoint similarly to DEBUG_INFO, allowing us to use a simple, platform independent register/offset pair for frame indexes on stackmap/patchpoints. Notes: - Folding is now platform independent and automatically supported. - Emiting patchpoints with direct memory references now just involves calling the TargetLoweringBase::emitPatchPoint utility method from the target's XXXTargetLowering::EmitInstrWithCustomInserter method. (See X86TargetLowering for an example). - No more ugly platform-specific operand parsers. This patch shouldn't change the generated output for X86. llvm-svn: 195944
* Show stackmap entry encodings in stackmap debug logs. This makes it easier toLang Hames2013-11-271-23/+27
| | | | | | | cross-reference debug output with encoded stack-maps, and to create stackmap test-cases. llvm-svn: 195874
* Obvious pasto survived a couple rounds of cleanup.Andrew Trick2013-11-191-2/+1
| | | | | | Caught by Aaron Ballman. llvm-svn: 195138
* Add an abstraction to handle patchpoint operands.Andrew Trick2013-11-191-4/+84
| | | | | | | Hard-coded operand indices were scattered throughout lowering stages and layers. It was super bug prone. llvm-svn: 195093
* Added a size field to the stack map record to handle subregister spills.Andrew Trick2013-11-171-5/+15
| | | | | | | | Implementing this on bigendian platforms could get strange. I added a target hook, getStackSlotRange, per Jakob's recommendation to make this as explicit as possible. llvm-svn: 194942
* [Stackmap] Add AnyReg calling convention support for patchpoint intrinsic.Juergen Ributzka2013-11-081-1/+12
| | | | | | | | | | | | | | The idea of the AnyReg Calling Convention is to provide the call arguments in registers, but not to force them to be placed in a paticular order into a specified set of registers. Instead it is up tp the register allocator to assign any register as it sees fit. The same applies to the return value (if applicable). Differential Revision: http://llvm-reviews.chandlerc.com/D2009 Reviewed by Andy llvm-svn: 194293
* Fix some minor issues with r194282 to get the tree healthy again.Lang Hames2013-11-081-1/+2
| | | | llvm-svn: 194284
* Add a method to get the object-file appropriate stack map section.Lang Hames2013-11-081-2/+1
| | | | | | Thanks to Eric Christopher for the tips on the appropriate way to do this. llvm-svn: 194282
* Unused variableAndrew Trick2013-10-311-0/+1
| | | | llvm-svn: 193819
* Add support for stack map generation in the X86 backend.Andrew Trick2013-10-311-0/+213
Originally implemented by Lang Hames. llvm-svn: 193811
OpenPOWER on IntegriCloud