4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
faf1415c4fa88b6233bca488b8ac3bb8e6a73c72 |
|
24-Oct-2013 |
Yaron Keren <yaron.keren@gmail.com> |
(this is a corrected patch) Calling _chkstk is required on ELF as well as COFF on Windows. Without _chkstk, functions requiring large stack crash in initialization code. Previous code tested for COFF format but not Mach-O and this patch modifies the code to test for Windows OS (both Windows target and MingW target) but not Mach-O object format: Looks like macho environment was used to build some EFI code. Credits to Andrew MacPherson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
615f561407c83e29356f34c057279e87d903c9f1 |
|
23-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert "Calling _chkstk is required on ELF as well as COFF on Windows. Without _chkstk functions requiring large stack crash in initialization code. Previous code tested for COFF format but not Mach-O and this patch modifies the code to test for Windows." This reverts commit r193263. It is causing CodeGen/X86/mingw-alloca.ll to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
1e0437804c084dabda8894508f5867fdfb4df915 |
|
23-Oct-2013 |
Yaron Keren <yaron.keren@gmail.com> |
Calling _chkstk is required on ELF as well as COFF on Windows. Without _chkstk functions requiring large stack crash in initialization code. Previous code tested for COFF format but not Mach-O and this patch modifies the code to test for Windows. Credits to Andrew MacPherson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
9c7448c8d337fde57a75f58baab8fed6afad0a10 |
|
10-Sep-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert r190366. It was breaking build bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
5ebe6ccf658d829f9e3b7bb2ee2a5c4c392c2a7d |
|
10-Sep-2013 |
Bill Wendling <isanbard@gmail.com> |
Use a default value for the prologue's debug location. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
c3cee57f7d20f69a84fd88464ed8cf050e63c7ad |
|
09-Sep-2013 |
Bill Wendling <isanbard@gmail.com> |
Generate compact unwind encoding from CFI directives. We used to generate the compact unwind encoding from the machine instructions. However, this had the problem that if the user used `-save-temps' or compiled their hand-written `.s' file (with CFI directives), we wouldn't generate the compact unwind encoding. Move the algorithm that generates the compact unwind encoding into the MCAsmBackend. This way we can generate the encoding whether the code is from a `.ll' or `.s' file. <rdar://problem/13623355> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
b9daaa02a24afb2027dc999258dcdb6ec4fbbc9a |
|
03-Sep-2013 |
Bill Wendling <isanbard@gmail.com> |
WIP: Refactor some code so that it can be called by more than just one method. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e4272979978951bece0141cdd9f6a4481b34656f |
|
15-Aug-2013 |
Bill Wendling <isanbard@gmail.com> |
Constify the function parameters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
a54b66277e5d4bdd55825eb9378f07334692020c |
|
04-Aug-2013 |
Tim Northover <tnorthover@apple.com> |
X86: correct tail return address calculation Due to the weird and wondeful usual arithmetic conversions, some calculations involving negative values were getting performed in uint32_t and then promoted to int64_t, which is really not a good idea. Patch by Katsuhiro Ueno. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
4010110ccf21be0517034b6ccf9493628afaad77 |
|
08-Jul-2013 |
Nico Rieck <nico.rieck@gmail.com> |
Reuse %rax after calling __chkstk on win64 Reapply this as I reverted the wrong commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
d56e7e198d858439c884dbd909ee58d15742d5be |
|
08-Jul-2013 |
Nico Rieck <nico.rieck@gmail.com> |
Revert "Reuse %rax after calling __chkstk on win64" This reverts commit 01f8d579f7672872324208ac5bc4ac311e81b22e. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
01f8d579f7672872324208ac5bc4ac311e81b22e |
|
07-Jul-2013 |
Nico Rieck <nico.rieck@gmail.com> |
Reuse %rax after calling __chkstk on win64 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
99cb622041a0839c7dfcf0263c5102a305a0fdb5 |
|
18-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Use pointers to the MCAsmInfo and MCRegInfo. Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
6b67ffd68bb2e555b1b512a809f3c82c68f3debe |
|
16-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove addFrameMove. Now that we have good testing, remove addFrameMove and create cfi instructions directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
0ed9f1fd8687ad32364b56898e6ebe1515e0e41c |
|
16-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Delete dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
377b2270124f6f566c0f291bcb02f7755b642c2c |
|
16-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Delete dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
d84ccfaf50c7843f31ffc74a8a8e33f779453d6e |
|
11-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change getFrameMoves to return a const reference. To add a frame now there is a dedicated addFrameMove which also takes care of constructing the move itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
edfef3bd27d6269d473fbc570e8c2be02b4070df |
|
09-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Generate a compact unwind encoding in the face of a stack alignment push. We generate a `push' of a random register (%rax) if the stack needs to be aligned by the size of that register. However, this could mess up compact unwind generation. In particular, we want to still generate compact unwind in the presence of this monstrosity. Check if the push of of the %rax/%eax register. If it is and it's marked with the `FrameSetup' flag, then we can generate a compact unwind encoding for the function only if the push is the last FrameSetup instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
1f4b796b49d13075531ed43b35824ecc9d757467 |
|
09-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Simplify the code a bit. The compact unwind registers were defined in two different places. It's better just to place them in the function that uses them and specify that this is a 64-bit or 32-bit machine. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
89ec1c5c9c744c125b61145ed59783eb5c68ebf8 |
|
19-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Use an enum instead of magic constants to improve readability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2828608e8e1432e8bdc9ec704c8db118b7386c19 |
|
19-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Set the compact unwind encoding to 'requires EH DWARF' if we cannot generate a CU encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2d1035def15030ae404b227747d0a28454ea32a9 |
|
28-Feb-2013 |
Yiannis Tsiouris <gtsiour@softlab.ntua.gr> |
Re-format comments (and check commit access) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
700ed80d3da5e98e05ceb90e9bfb66058581a6db |
|
21-Feb-2013 |
Eli Bendersky <eliben@google.com> |
Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo to TargetFrameLowering, where it belongs. Incidentally, this allows us to delete some duplicated (and slightly different!) code in TRI. There are potentially other layering problems that can be cleaned up as a result, or in a similar manner. The refactoring was OK'd by Anton Korobeynikov on llvmdev. Note: this touches the target interfaces, so out-of-tree targets may be affected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
b1e1d5d4a575f5e5b4ceb7af68f33e75695ee959 |
|
19-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Clean up HiPE prologue emission a bit and avoid signed arithmetic tricks. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
9d7c53af30363038a0acb594201cdb1282510f7b |
|
19-Feb-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
X86FrameLowering.cpp: Fixup. Sorry for the breakage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
82f7815e6f7819223b5f311195bfc1d9645d4754 |
|
19-Feb-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
X86FrameLowering.cpp: Fix a warning in -Asserts. [-Wunused-variable] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
6228999d826c87ac90344356c2d123361dc1d648 |
|
18-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix a 32/64 bit incompatibility in the HiPE prologue generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
98fbe27ac8f0766ea94b89b8c03418131b72bea4 |
|
18-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Support for HiPE-compatible code emission, patch by Yiannis Tsiouris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
b56606274d43c7a3e01b18a08d1115fbf2889996 |
|
16-Feb-2013 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Do not omit the frame pointer if we have ms-inline assembly. If the frame pointer is omitted, and any stack changes occur in the inline assembly, e.g.: "pusha", then any C local variable or C argument references will be incorrect. I pass no judgement on anyone who would do such a thing. ;) rdar://13218191 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
16221a60a00e52b078f6164ba4475c6e8e918e4b |
|
06-Feb-2013 |
Eli Bendersky <eliben@google.com> |
This is a follow-up on r174446, now taking Atom processors into account. Atoms use LEA for updating SP in prologs/epilogs, and the exact LEA opcode depends on the data model. Also reapplying the test case which was added and then reverted (because of Atom failures), this time specifying explicitly the CPU in addition to the triple. The test case now checks all variations (data mode, cpu Atom vs. Core). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2a1b60d791522d73be91d4281c90d25bd5e3d117 |
|
05-Feb-2013 |
Eli Bendersky <eliben@google.com> |
Make sure the correct opcodes are used to SUB and ADD the stack pointer in function prologs/epilogs. The opcodes should depend on the data model (LP64 vs. ILP32) rather than the architecture bit-ness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
831737d329a727f53a1fb0572f7b7a8127208881 |
|
30-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove the Function::getFnAttributes method in favor of using the AttributeSet directly. This is in preparation for removing the use of the 'Attribute' class as a collection of attributes. That will shift to the AttributeSet class instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
677689cf5dc65404645462464682a0696cc84532 |
|
23-Dec-2012 |
Nadav Rotem <nrotem@apple.com> |
Rename a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
d0696ef8c33b9b2504e89bc0aab2ea99a6c90756 |
|
22-Dec-2012 |
Nadav Rotem <nrotem@apple.com> |
In some cases, due to scheduling constraints we copy the EFLAGS. The only way to read the eflags is using push and pop. If we don't adjust the stack then we run over the first frame index. This is not something that we want to do, so we have to make sure that our machine function does not copy the flags. If it does then we have to emit the prolog that adjusts the stack. rdar://12896831 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
be06aacaa9a270384599bbfa850b967e9996b9fb |
|
20-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add an MF argument to MI::copyImplicitOps(). This function is often used to decorate dangling instructions, so a context reference is required to allocate memory for the operands. Also add a corresponding MachineInstrBuilder method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
034b94b17006f51722886b0f2283fb6fb19aca1f |
|
19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
aa3c2c09d9d5bc67c6ca2fbc6697257b15476684 |
|
25-Oct-2012 |
Michael Liao <michael.liao@intel.com> |
Clean up where SlotSize should be used instead of pointer size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2c39b15073db81d93bb629303915b7d7e5d088dc |
|
15-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
fb384d61c78b60787ed65475d8403aee65023962 |
|
11-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Revert 165732 for further review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
f3840d2c16a4ec4c879a8ded402835746de380f8 |
|
11-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
6765834754cbb3cb0f15b4b15e98c5e73fa50066 |
|
09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Create enums for the different attributes. We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is stored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3574eca1b02600bac4e625297f4ecf745f4c4f32 |
|
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
0313ced016f3777e806ca2e42a746d3162174c47 |
|
04-Oct-2012 |
Eric Christopher <echristo@gmail.com> |
Update this a bit more to represent how the prologue should work: a) frame setup instructions define the prologue b) we shouldn't change our location mid-stream Add a test to make sure that the stack adjustment stays within the prologue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
76ad43c6e1619ed4c087b8ccb2cd573eb9d7093e |
|
03-Oct-2012 |
Eric Christopher <echristo@gmail.com> |
Revert 165051-165049 while looking into the foreach.m failure in more detail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
394820b8e159a39a9a07aac9722ad8738680037d |
|
03-Oct-2012 |
Eric Christopher <echristo@apple.com> |
Revert "Don't use a debug location for frame setup instructions in the" This reverts 165055 and 165052 temporarily while I look at debugger failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
9fd304672cec6cd31b1978408a0a0dc375f96969 |
|
02-Oct-2012 |
Eric Christopher <echristo@apple.com> |
Don't use a debug location for frame setup instructions in the prologue. Also skip frame setup instructions when looking for the first location. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
138f2061465a3e79cfc09b6bca1c3fba960b83cb |
|
02-Oct-2012 |
Eric Christopher <echristo@apple.com> |
Use the existing DebugLoc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2d4d0f0ee8cb4f071e03a5329a637522e12cde06 |
|
02-Oct-2012 |
Eric Christopher <echristo@apple.com> |
Make the location a parameter since we may not want the next one in the block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2c189061184925c6a8ecbb5a19e648b230a41c0e |
|
26-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove the `hasFnAttr' method from Function. The hasFnAttr method has been replaced by querying the Attributes explicitly. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3591955bce8dd3fe638a913f23bf479670dbff4d |
|
16-Jul-2012 |
Chad Rosier <mcrosier@apple.com> |
With r160248 in place this code is no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
99a92f269d4ea6f13a9858bb883e13382d021120 |
|
16-Jul-2012 |
Alexey Samsonov <samsonov@google.com> |
This CL changes the function prologue and epilogue emitted on X86 when stack needs realignment. It is intended to fix PR11468. Old prologue and epilogue looked like this: push %rbp mov %rsp, %rbp and $alignment, %rsp push %r14 push %r15 ... pop %r15 pop %r14 mov %rbp, %rsp pop %rbp The problem was to reference the locations of callee-saved registers in exception handling: locations of callee-saved had to be re-calculated regarding the stack alignment operation. It would take some effort to implement this in LLVM, as currently MachineLocation can only have the form "Register + Offset". Funciton prologue and epilogue are now changed to: push %rbp mov %rsp, %rbp push %14 push %15 and $alignment, %rsp ... lea -$size_of_saved_registers(%rbp), %rsp pop %r15 pop %r14 pop %rbp Reviewed by Chad Rosier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2b02688b6eee1340cb916934182a02698eea9f36 |
|
10-Jul-2012 |
Chad Rosier <mcrosier@apple.com> |
Move [get|set]BasePtrStackAdjustment() from MachineFrameInfo to X86MachineFunctionInfo as this is currently only used by X86. If this ever becomes an issue on another arch (e.g., ARM) then we can hoist it back out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3f0dbab963197cadb32f70e1ee1a106fe35f5c8e |
|
10-Jul-2012 |
Chad Rosier <mcrosier@apple.com> |
Add support for dynamic stack realignment in the presence of dynamic allocas on X86. Basically, this is a reapplication of r158087 with a few fixes. Specifically, (1) the stack pointer is restored from the base pointer before popping callee-saved registers and (2) in obscure cases (see comments in patch) we must cache the value of the original stack adjustment in the prologue and apply it in the epilogue. rdar://11496434 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
85dccf18ea0e0b7258d1c5f186b616e022dbebf1 |
|
05-Jul-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Make X86 call and return instructions non-variadic. Function argument and return value registers aren't part of the encoding, so they should be implicit operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e208c491726bb1efbfc4fc05a9f73ad808432979 |
|
22-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Functions calling __builtin_eh_return must have a frame pointer. The code in X86TargetLowering::LowerEH_RETURN() assumes that a frame pointer exists, but the frame pointer was forced by the presence of llvm.eh.unwind.init which isn't guaranteed. If llvm.eh.unwind.init is actually required in functions calling eh.return (is it?), we should diagnose that instead of emitting bad machine code. This should fix the dragonegg-x86_64-linux-gcc-4.6-test bot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
43369249e7c2be91535e3ef900673e6116a953de |
|
18-Jun-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Temporarily revert r158087. This patch causes problems when both dynamic stack realignment and dynamic allocas combine in the same function. With this patch, we no longer build the epilog correctly, and silently restore registers from the wrong position in the stack. Thanks to Matt for tracking this down, and getting at least an initial test case to Chad. I'm going to try to check a variation of that test case in so we can easily track the fixes required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
a97b180fc44718e525bb03b50e05fe66622c2b02 |
|
06-Jun-2012 |
Chad Rosier <mcrosier@apple.com> |
Add support for dynamic stack realignment in the presence of dynamic allocas on X86. rdar://11496434 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
396618b43a85e12d290a90b181c6af5d7c0c5f11 |
|
02-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Switch all register list clients to the new MC*Iterator interface. No functional change intended. Sorry for the churn. The iterator classes are supposed to help avoid giant commits like this one in the future. The TableGen-produced register lists are getting quite large, and it may be necessary to change the table representation. This makes it possible to do so without changing all clients (again). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
53146a29bc0c8f835c8c05a5a9a966b887cbb214 |
|
24-May-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint16_t to store register number in static tables to match other tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3fb6eca0cd4c2b31b06543ca2ac60b9c91c2264d |
|
24-May-2012 |
Chad Rosier <mcrosier@apple.com> |
Tidy up naming for consistency and other cleanup. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
d07d06ceef942c478c0f75a4c4d7442e61ddff1d |
|
01-May-2012 |
Alexey Samsonov <samsonov@google.com> |
X86: Use StackRegister instead of FrameRegister in getFrameIndexReference (to generate debug info for local variables) if stack needs realignment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e4fd907e72a599eddfa7a81eac4366b5b82523e3 |
|
04-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint16_t to store register overlaps to reduce static data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
31d157ae1ac2cd9c787dc3c1d28e64c682803844 |
|
18-Feb-2012 |
Jia Liu <proljc@gmail.com> |
Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
de1df103b9c578d0a1609054a5944342c5d0ba23 |
|
07-Feb-2012 |
Evan Cheng <evan.cheng@apple.com> |
Use LEA to adjust stack ptr for Atom. Patch by Andy Zhang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 |
|
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
b4ee5168abd0580a29f5c9becce26e3ea7bb2b8d |
|
13-Jan-2012 |
Bill Wendling <isanbard@gmail.com> |
Fix off-by-one error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
86b1a7d61413aed40a68f98f1e8f17fd79ebd7a2 |
|
13-Jan-2012 |
Bill Wendling <isanbard@gmail.com> |
Fix the code that was WRONG. The registers are placed into the saved registers list in the reverse order, which is why the original loop was written to loop backwards. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
85b9d43d4c7a4a5e6e7da651a159353a9a00e227 |
|
12-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Support segmented stacks on 64-bit FreeBSD. This patch uses tcb_spare field in the tcb structure to store info. Patch by Jyun-Yan You. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e4d18de5d15c6c1d4d279788b35d0cd1ab237e82 |
|
12-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Support segmented stacks on win32. Uses the pvArbitrary slot of the TIB, which is reserved for applications. We only support frames with a static size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e2eb92578a1c5c6b890d8c6db41bb6b4d2662625 |
|
12-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
After Jakob's r147938 exception handling on i386 was completely broken. Restore the (obviously wrong) behavior from before r147938 without relying on undefined behavior. Add a fat FIXME note. This should fix nightly tester failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2028b793e1fd1a8dd4d99b0b7c9972865d5e806a |
|
11-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Support segmented stacks on mac. This uses TLS slot 90, which actually belongs to JavaScriptCore. We only support frames with static size Patch by Brian Anderson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
25cd4ff97e882ad5039dec15b0c9be8fef062b6b |
|
11-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Generate the segmented stack prologue for fastcc too. Patch by Brian Anderson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
313c7038319422cff0b2ea1015e180575cab4b7a |
|
11-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use unsigned comparison in segmented stack prologue. This is a comparison of two addresses, and GCC does the comparison unsigned. Patch by Brian Anderson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
014f7a3b3798580d5aac80b83bcb67e03d302fa4 |
|
11-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Explicitly set the scale to 1 on some segstack prologue instrs. Patch by Brian Anderson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
dec1f996152d4292133e81527ad710fbc1280946 |
|
11-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix undefined code and reenable test case. I don't think the compact encoding code is right, but at least is has defined behavior now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
10e412ec6b761952b95710203e6d2d89f4fee53a |
|
15-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
The saved registers weren't being processed in the correct order. This lead to the compact unwind claiming that one register was saved before another, which isn't all that great in general. Process them in the natural order. Reverse the list only when necessary for the algorithm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
b3ec329c14fa3d37b5963f188db54ba03c6b97c0 |
|
07-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Adjust the stack by one pointer size for all frameless stacks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
c61751373ab58f226ec37368c139404e67e847c0 |
|
07-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Fix off-by-one error when encoding the stack size for a frameless stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
5a96b3dad2f634c9081c8b2b6c2575441dc5a2bd |
|
07-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
Add bundle aware API for querying instruction properties and switch the code generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
84d518af1991f581b748c4d11dbeb1c54573556b |
|
06-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Explicitly check for the different SUB instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
581ac2723c5cb5182114092591eb5e21ceea2e77 |
|
06-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Encode the total stack if there isn't a frame. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
57a3cd2f326269dd1431cf430db50239a93450f2 |
|
06-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
* Add a macro to remove a magic number. * Rename variables to reflect what they're actually used for. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
5b2c4978ce56455689c515c9d74cc1d92871f3bb |
|
06-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Check the correct value for small stack sizes. Also modify some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
75e14e0ebd29bb2b1893948037c0ae5df4e09a41 |
|
06-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
For a small sized stack, we encode that value directly with no "stack adjust" value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
80caf9c2737d4f1bf5bae3a283fe9d538f5e2970 |
|
06-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
79df986c60094e9ea29f081295aea08b1680a999 |
|
06-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
The compact encoding of the registers are 3-bits each. Make sure we shift the value over that much. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
199ce33b3bfa0b6293946c1b835da2a1fbc8cab4 |
|
03-Dec-2011 |
Sanjoy Das <sanjoy@playingwithpointers.com> |
Check for stack space more intelligently. libgcc sets the stack limit field in TCB to 256 bytes above the actual allocated stack limit. This means if the function's stack frame needs less than 256 bytes, we can just compare the stack pointer with the stack limit. This should result in lesser calls to __morestack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
40f8222e1e6d273062e3c1234baa57db3c5705cf |
|
03-Dec-2011 |
Sanjoy Das <sanjoy@playingwithpointers.com> |
Fix a bug in the x86-32 code generated for segmented stacks. Currently LLVM pads the call to __morestack with a add and sub of 8 bytes to esp. This isn't correct since __morestack expects the call to be followed directly by a ret. This commit also adjusts the relevant test-case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
8a8d479214745c82ef00f08d4e4f1c173b5f9ce2 |
|
02-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Move global variables in TargetMachine into new TargetOptions class. As an API change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
fc9261279aa140542cf9b7c2c384d000ad97aca0 |
|
01-Dec-2011 |
Sanjoy Das <sanjoy@playingwithpointers.com> |
Dummy commit to check commit access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
c739577d3c2e5ee47baaf8b4ba259718ec2db4cc |
|
11-Nov-2011 |
Bill Wendling <isanbard@gmail.com> |
If we have to reset the calculation of the compact encoding, then also reset the "saved register" index. <rdar://problem/10430076> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e840e88239cf92a065cbf5f5b9c7d18bc139c0e1 |
|
26-Oct-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
This commit introduces two fake instructions MORESTACK_RET and MORESTACK_RET_RESTORE_R10; which are lowered to a RET and a RET followed by a MOV respectively. Having a fake instruction prevents the verifier from seeing a MachineBasicBlock end with a non-terminator (MOV). It also prevents the rather eccentric case of a MachineBasicBlock ending with RET but having successors nevertheless. Patch by Sanjoy Das. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
17001ce25cc205ac1cd2604492c2bce310964220 |
|
18-Oct-2011 |
Duncan Sands <baldrick@free.fr> |
Fix a bunch of unused variable warnings when doing a release build with gcc-4.6. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
4e68054b20725f6ec1cac33630258f749fe5debe |
|
13-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
More closely follow libgcc, which has code after the `ret' instruction to release the stack segment and reset the stack pointer. Place the code in its own MBB to make the verifier happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
82222c20be24adda7c218f3fdaf2e0ae049c955b |
|
13-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
Should not add instructions to a BB after a return instruction. The machine instruction verifier doesn't like this, nor do I. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
51f0c7641983469cbd29f8862a121645471a885a |
|
24-Sep-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Only run MF.verify() with EXPENSIVE_CHECKS=1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
c8725d11f8756c57bdbceccc61062a9d560261c5 |
|
07-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Reenable compact unwind by default. However, also emit the old version of unwind information for older linkers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
d199aa012bb7d05d55daa3b2d3fbeb421728706e |
|
02-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r138826 until PR10834 can be fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e81abfd30b7c81735e9f3d79006c2653690aa592 |
|
31-Aug-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Spelling and grammar fixes to problems found by Duncan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
ac86d43eae8bbfe5284d8e5fa17c141d1a7b1194 |
|
31-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Make sure we don't crash when -miphoneos-version-min is specified on x86. Hopefully this will fix gcc testsuite failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e716124feb4024e67934984b787d6096e05ae3a9 |
|
30-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Fix off-by-one error Benjamin noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
011a8e1684d2aaac08acf3c0eea160bb65c3728b |
|
30-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Enable compact unwind info by default. This only applies to Darwin when CFI is disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
76927d758657b3a511c73467ec5a7288795c1513 |
|
30-Aug-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Emit segmented-stack specific code into function prologues for X86. Modify the pass added in the previous patch to call this new code. This new prologues generated will call a libgcc routine (__morestack) to allocate more stack space from the heap when required Patch by Sanjoy Das. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
32a183c84ad0cbe492119c37f1a7941ace61dd79 |
|
12-Aug-2011 |
Andrew Trick <atrick@apple.com> |
findDeadCallerSavedReg fix: Missing NULL terminator in register arrays. Fix by Ivan Baev. Sorry I don't have a unit test, but the fix is obvious so I don't want to delay it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
de77055a68a3fc495e01b682f00059af3e38822e |
|
26-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
The compact unwinding offsets are divided by 8 on 64-bit machines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
39055b3a5c9044b18846361b9ebd8e289356cb99 |
|
25-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Update the comment. This feature is available only on Darwin at the moment. Though it's not Darwin-specific. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
c57e7dbfaff2e5cfe668da9f68868826368407a1 |
|
25-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Changed disabled code into a flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
091a864f06357f17a82645a559eadd2c55248889 |
|
25-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Remove dead variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
09b02c8dddf822e84c30cc08e7759d6ceebb2334 |
|
25-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
After we've modified the prolog to save volatile registers, generate the compact unwind encoding for that function. This simply crawls through the prolog looking for machine instrs marked as "frame setup". It can calculate from these what the compact unwind should look like. This is currently disabled because of needed linker support. But initial tests look good. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
fb4eb165d66b8ca5ae09c37d98d3ed937454b6af |
|
21-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Mark instructions which are part of the frame setup with the MachineInstr::FrameSetup flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
7bc317818282a7603cc249fc9add286d02582338 |
|
21-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Remove unused function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
16da7366d598dd863cd3c05c81ab089e830bbafe |
|
21-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Remove the now defunct getCompactUnwindEncoding method from the frame lowering code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2d28617de2b0b731c08d1af9e830f31e14ac75b4 |
|
19-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for better location welcome). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
13123d94630494d5b1ac87472eb45de681549166 |
|
15-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
* Redo the permutation encoding for frameless stacks to be more like what the unwind library expects. * Comment the permutation encoding for frameless stacks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
efe2a6557d3152a817cb097e9bc327186975ace2 |
|
14-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Add code to handle a "frameless" unwind stack. The frameless unwind stack has a special encoding, the algorithm for which is in "permuteEncode". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
8440fe21668fd4d47378371073af0702ea9413bc |
|
13-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Don't emit the FDE end label if the last thing emitted was a compact unwind and not the FDE git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3641e811729fc7f21039af595d62bc8e696ff407 |
|
13-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Assign variable before we test it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
f4f53f08f554a6eac3cc1f6c84a7a639b5e647e4 |
|
13-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Fix obvious think-o. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
595d745f5f3ce250111ca2231569c93b43dfe8ee |
|
13-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Clean up the handling of an EBP/RBP unwind frame pointer. In particular, don't assert when the frame pointer is -1 (i.e., the function is "frameless"). Still to do: "frameless" unwind information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
b99e412650d25776686b46e743751f4ba97a2e4e |
|
07-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Use ArrayRef instead of a std::vector&. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
6a6b8c3e96b9e1ca7092eafd0cfb219cbbfbdfc4 |
|
07-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Add a target hook to encode the compact unwind information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3c2f0a11cce5a1e828e20675fa8467b624795e0a |
|
14-Jun-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fit banner in 80-col and adjust whitespace. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
aff232a5941c9ffb7ad52e08f81ad53794fed56b |
|
12-Jun-2011 |
Charles Davis <cdavis@mines.edu> |
Put FrameSetup flag on x86 instructions that set up the call frame. No functionality change. Later on, we'll use the flag to emit SEH pseudo-ops that describe how the call frame was built. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
fc2bb8c4448fa884d79e437cc2d2627a7d7740a8 |
|
25-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Replace the -unwind-tables option with a per function flag. This is more LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
b28d4f152ee9b76d8798b2bdcb06cb8d106841e6 |
|
26-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Print all the moves at a given label instead of just the first one. Remove previous DwarfCFI hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
f0adba9a7ec8a3031876575a6ffb7db5f1b6f855 |
|
15-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add 129518 back with a fix for when we are producing eh just because of debug info. Change ELF systems to use CFI for producing the EH tables. This reduces the size of the clang binary in Debug builds from 690MB to 679MB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
7a2bdde0a0eebcd2125055e0eacaca040f0b766c |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
bcb8c6d09ee426e0f774e3412912f6ae9e5f78dd |
|
15-Apr-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r129518, "Change ELF systems to use CFI for producing the EH tables. This reduces the" It broke several builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3dae6e7333b8fae7b79ddb99757ab5de73890af9 |
|
14-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change ELF systems to use CFI for producing the EH tables. This reduces the size of the clang binary in Debug builds from 690MB to 679MB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
a2e0762fae050464494a50c8b5d53ac2f4ba738c |
|
24-Mar-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Target/X86: [PR8777][PR8778] Tweak alloca/chkstk for Windows targets. FIXME: Some cleanups would be needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
419f23278388a8999b5c0bbe73ce823f63747f28 |
|
27-Feb-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Target/X86: Always emit "push/pop GPRs" in prologue/epilogue and emit "spill/reload frames" for XMMs. It improves Win64's prologue/epilogue but it would not affect ia32 and amd64 (lack of nonvolatile XMMs). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
3f4be4fb86172e6b87a457b338483efc0c1efd05 |
|
05-Feb-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Target/X86: Tweak allocating shadow area (aka home) on Win64. It must be enough for caller to allocate one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2763538609fd455d63c192b320c73fb5d48c3e47 |
|
05-Feb-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Target/X86: Fix whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e47023d543aecb8ca558721a0259d83ab2b016a3 |
|
01-Feb-2011 |
Carl Norum <carl.norum@apple.com> |
Test commit - fix a double 'should' in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
2bffee2ee725047137d2523e31db9ecc7b246cbb |
|
01-Feb-2011 |
Evan Cheng <evan.cheng@apple.com> |
Patches to build EFI with Clang/LLVM. By Carl Norum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
e749911372c75e4e68f83a32b4092f4ffb0d2793 |
|
14-Jan-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
f7ca976e74eafeeab0e9097f0fb07d6bb447415b |
|
13-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix a few more places that should use MBB::getLastNonDebugInstr(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
4f28c1c71450c711e96aa283de53739d8b4504cd |
|
13-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Teach frame lowering to ignore debug values after the terminators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|
16c29b5f285f375be53dabaa73e3e91107485fe4 |
|
10-Jan-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FrameLowering.cpp
|