Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2 |
|
#
fc6de428 |
| 05-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Have MachineFunction cache a pointer to the subtarget to make lookups shorter/easier and have the DAG use that to do the same lookup. This can be used in the future for TargetMachine based caching lo
Have MachineFunction cache a pointer to the subtarget to make lookups 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
show more ...
|
#
d913448b |
| 04-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Remove the TargetMachine forwards for TargetSubtargetInfo based information and update all callers. No functional change.
llvm-svn: 214781
|
#
87c2b605 |
| 01-Aug-2014 |
Philip Reames <listmail@philipreames.com> |
Explicitly report runtime stack realignment in StackMap section
This change adds code to explicitly mark a function which requires runtime stack realignment as not having a fixed frame size in the S
Explicitly report runtime stack realignment in StackMap section
This change adds code to explicitly mark a function which requires runtime stack realignment as not having a fixed frame size in the StackMap section. As it happens, this is not actually a functional change. The size that would be reported without the check is also "-1", but as far as I can tell, that's an accident. The code change makes this explicit.
Note: There's a separate bug in handling of stackmaps and patchpoints in functions which need dynamic frame realignment. The current code assumes that offsets can be calculated from RBP, but realigned frames must use RSP. (There's a variable gap between RBP and the spill slots.) This change set does not address that issue.
Reviewers: atrick, ributzka
Differential Revision: http://reviews.llvm.org/D4572
llvm-svn: 214534
show more ...
|
Revision tags: llvmorg-3.5.0-rc1, llvmorg-3.4.2, llvmorg-3.4.2-rc1 |
|
#
37fc0a8a |
| 01-May-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Pacify windows buildbot.
llvm-svn: 207807
|
#
673a762b |
| 01-May-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Add command line option to specify the stackmap version.
llvm-svn: 207805
|
#
6340195a |
| 01-May-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Refactor serialization code. No functional change intended.
llvm-svn: 207804
|
#
f01e8093 |
| 01-May-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Replace the custom ConstantPool class with a MapVector.
llvm-svn: 207803
|
Revision tags: llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
1b9dde08 |
| 22-Apr-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Modules] Remove potential ODR violations by sinking the DEBUG_TYPE define below all header includes in the lib/CodeGen/... tree. While the current modules implementation doesn't check for this kind
[Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 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
show more ...
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
e117992f |
| 31-Mar-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Update the stackmap format to use 64-bit relocations for the function address and properly align all entries.
This commit updates the stackmap format to version 1 to indicate the reorgan
[Stackmaps] Update the stackmap format to use 64-bit relocations for the function address and properly align all entries.
This commit updates the stackmap format to version 1 to indicate the reorganizaion of several fields. This was done in order to align stackmap entries to their natural alignment and to minimize padding.
Fixes <rdar://problem/16005902>
llvm-svn: 205254
show more ...
|
#
442f7848 |
| 04-Mar-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[cleanup] Re-sort all the includes with utils/sort_includes.py.
llvm-svn: 202811
|
#
b6d0bd48 |
| 02-Mar-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
[C++11] Replace llvm::next and llvm::prior with std::next and std::prev.
Remove the old functions.
llvm-svn: 202636
|
#
73a7fcc6 |
| 10-Feb-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Cleanup code. No functional change intended.
llvm-svn: 201115
|
#
fb4d6482 |
| 30-Jan-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic.
Re-applying the patch, but this time without using AsmPrinter methods.
Reviewed by Andy
llvm-svn:
[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic.
Re-applying the patch, but this time without using AsmPrinter methods.
Reviewed by Andy
llvm-svn: 200481
show more ...
|
#
f6f0ce90 |
| 30-Jan-2014 |
Juergen Ributzka <juergen@apple.com> |
Revert "[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic."
This reverts commit r200444 to unbreak buildbots.
llvm-svn: 200445
|
#
aece7583 |
| 30-Jan-2014 |
Juergen Ributzka <juergen@apple.com> |
[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic.
Reviewed by Andy
llvm-svn: 200444
|
#
cb402911 |
| 24-Jan-2014 |
Alp Toker <alp@nuanti.com> |
Fix known typos
Sweep the codebase for common typos. Includes some changes to visible function names that were misspelt.
llvm-svn: 200018
|
#
32e1be7b |
| 09-Jan-2014 |
Andrew Trick <atrick@apple.com> |
llvm.experimental.stackmap: fix encoding of large constants.
In the stackmap format we advertise the constant field as signed. However, we were determining whether to promote to a 64-bit constant po
llvm.experimental.stackmap: fix encoding of large constants.
In the stackmap format we advertise the constant field as signed. However, we were determining whether to promote to a 64-bit constant pool based on an unsigned comparison.
This fix allows -1 to be encoded as a small constant.
llvm-svn: 198816
show more ...
|
#
8a8cd2ba |
| 07-Jan-2014 |
Chandler Carruth <chandlerc@gmail.com> |
Re-sort all of the includes with ./utils/sort_includes.py so that subsequent changes are easier to review. About to fix some layering issues, and wanted to separate out the necessary churn.
Also com
Re-sort all of the includes with ./utils/sort_includes.py so that subsequent changes are easier to review. About to fix some layering issues, and wanted to separate out the necessary churn.
Also comment and sink the include of "Windows.h" in three .inc files to match the usage in Memory.inc.
llvm-svn: 198685
show more ...
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3 |
|
#
c26b68a9 |
| 14-Dec-2013 |
Juergen Ributzka <juergen@apple.com> |
[Stackmap] Refactor operand parsing.
llvm-svn: 197329
|
#
e8294753 |
| 14-Dec-2013 |
Juergen Ributzka <juergen@apple.com> |
[Stackmap] Liveness Analysis Pass
This optional register liveness analysis pass can be enabled with either -enable-stackmap-liveness, -enable-patchpoint-liveness, or both. The pass traverses each ba
[Stackmap] Liveness Analysis Pass
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
show more ...
|
#
7bcb0100 |
| 13-Dec-2013 |
Andrew Trick <atrick@apple.com> |
Revert "Liveness Analysis Pass"
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: includ
Revert "Liveness Analysis Pass"
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
show more ...
|
#
e8cba373 |
| 13-Dec-2013 |
Andrew Trick <atrick@apple.com> |
Grow the stackmap/patchpoint format to hold 64-bit IDs.
llvm-svn: 197255
|
#
8d6a6584 |
| 13-Dec-2013 |
Andrew Trick <atrick@apple.com> |
Liveness Analysis Pass
llvm-svn: 197254
|
Revision tags: llvmorg-3.4.0-rc2 |
|
#
39609996 |
| 29-Nov-2013 |
Lang Hames <lhames@gmail.com> |
Refactor a lot of patchpoint/stackmap related code to simplify and make it target independent.
Most of the x86 specific stackmap/patchpoint handling was necessitated by the use of the native address
Refactor a lot of patchpoint/stackmap related code to simplify and make it 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 more ...
|
#
fde8e4b7 |
| 27-Nov-2013 |
Lang Hames <lhames@gmail.com> |
Show stackmap entry encodings in stackmap debug logs. This makes it easier to cross-reference debug output with encoded stack-maps, and to create stackmap test-cases.
llvm-svn: 195874
|