aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
AgeCommit message (Collapse)AuthorFilesLines
2015-07-07[StackMap Liveness] Calling the base class' getAnalysisUsage method. NFCI.Juergen Ributzka1-2/+1
Calling into the base class' getAnalysisUsage method after we did our pass specific modifications. This shouldn't really matter since this is the last pass in the pipeline anyways. llvm-svn: 241536
2015-07-07[StackMap Liveness] No need to cache the MachineFunction. NFC.Juergen Ributzka1-22/+20
Don't cache the MachineFunction in the pass and range'ify some loops. llvm-svn: 241535
2015-03-24Internalize the StackMapLiveness pass.Benjamin Kramer1-6/+45
No need to have its own header when it's not used anywhere. NFC. llvm-svn: 233072
2015-03-23Another set of missing raw_ostream.h. Still no functional change.Benjamin Kramer1-0/+1
llvm-svn: 232993
2015-03-16Fix uses of reserved identifiers starting with an underscore followed by an ↵David Blaikie1-6/+6
uppercase letter This covers essentially all of llvm's headers and libs. One or two weird cases I wasn't sure were worth/appropriate to fix. llvm-svn: 232394
2015-01-13[StackMaps] Allow the target to pre-process the live-out maskHal Finkel1-0/+2
Some targets, PowerPC for example, have pseudo-registers (such as that used to represent the rounding mode), that don't have DWARF register numbers or a register class. These are used only for internal dependency tracking, and should not appear in the recorded live-outs. This adds a callback allowing the target to pre-process the live-out mask in order to remove these kinds of registers so that the StackMaps code does not complain about them and/or attempt to include them in the output. This will be used by the PowerPC target in a future commit. llvm-svn: 225805
2014-08-05Have MachineFunction cache a pointer to the subtarget to make lookupsEric Christopher1-1/+1
shorter/easier and have the DAG use that to do the same lookup. This can be used in the future for TargetMachine based caching lookups from the MachineFunction easily. Update the MIPS subtarget switching machinery to update this pointer at the same time it runs. llvm-svn: 214838
2014-08-04Remove the TargetMachine forwards for TargetSubtargetInfo basedEric Christopher1-2/+2
information and update all callers. No functional change. llvm-svn: 214781
2014-06-26[StackMaps] Enable patchpoint liveness analysis per default.Juergen Ributzka1-4/+7
llvm-svn: 211817
2014-06-26[Stackmaps] Remove the liveness calculation for stackmap intrinsics.Juergen Ributzka1-9/+4
There is no need to calculate the liveness information for stackmaps. The liveness information is still available for the patchpoint intrinsic and that is also the intended usage model. Related to <rdar://problem/17473725> llvm-svn: 211816
2014-04-22[Modules] Remove potential ODR violations by sinking the DEBUG_TYPEChandler Carruth1-1/+2
define below all header includes in the lib/CodeGen/... tree. While the current modules implementation doesn't check for this kind of ODR violation yet, it is likely to grow support for it in the future. It also removes one layer of macro pollution across all the included headers. Other sub-trees will follow. llvm-svn: 206837
2014-04-04Minor change to StackMapLiveness DEBUG output.Andrew Trick1-1/+1
llvm-svn: 205656
2013-12-14[Stackmap] Liveness Analysis PassJuergen Ributzka1-0/+128
This optional register liveness analysis pass can be enabled with either -enable-stackmap-liveness, -enable-patchpoint-liveness, or both. The pass traverses each basic block in a machine function. For each basic block the instructions are processed in reversed order and if a patchpoint or stackmap instruction is encountered the current live-out register set is encoded as a register mask and attached to the instruction. Later on during stackmap generation the live-out register mask is processed and also emitted as part of the stackmap. This information is optional and intended for optimization purposes only. This will enable a client of the stackmap to reason about the registers it can use and which registers need to be preserved. Reviewed by Andy llvm-svn: 197317
2013-12-13Revert "Liveness Analysis Pass"Andrew Trick1-128/+0
This reverts commit r197254. This was an accidental merge of Juergen's patch. It will be checked in shortly, but wasn't meant to go in quite yet. Conflicts: include/llvm/CodeGen/StackMaps.h lib/CodeGen/StackMaps.cpp test/CodeGen/X86/stackmap-liveness.ll llvm-svn: 197260
2013-12-13Liveness Analysis PassAndrew Trick1-0/+128
llvm-svn: 197254