summaryrefslogtreecommitdiffstats
path: root/llvm/test/Feature/callingconventions.ll
Commit message (Collapse)AuthorAgeFilesLines
* HHVM calling conventions.Maksim Panchenko2015-09-291-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | HHVM calling convention, hhvmcc, is used by HHVM JIT for functions in translated cache. We currently support LLVM back end to generate code for X86-64 and may support other architectures in the future. In HHVM calling convention any GP register could be used to pass and return values, with the exception of R12 which is reserved for thread-local area and is callee-saved. Other than R12, we always pass RBX and RBP as args, which are our virtual machine's stack pointer and frame pointer respectively. When we enter translation cache via hhvmcc function, we expect the stack to be aligned at 16 bytes, i.e. skewed by 8 bytes as opposed to standard ABI alignment. This affects stack object alignment and stack adjustments for function calls. One extra calling convention, hhvm_ccc, is used to call C++ helpers from HHVM's translation cache. It is almost identical to standard C calling convention with an exception of first argument which is passed in RBP (before we use RDI, RSI, etc.) Differential Revision: http://reviews.llvm.org/D12681 llvm-svn: 248832
* Move the personality function from LandingPadInst to FunctionDavid Majnemer2015-06-171-4/+4
| | | | | | | | | | | | | | | | | | | The personality routine currently lives in the LandingPadInst. This isn't desirable because: - All LandingPadInsts in the same function must have the same personality routine. This means that each LandingPadInst beyond the first has an operand which produces no additional information. - There is ongoing work to introduce EH IR constructs other than LandingPadInst. Moving the personality routine off of any one particular Instruction and onto the parent function seems a lot better than have N different places a personality function can sneak onto an exceptional function. Differential Revision: http://reviews.llvm.org/D10429 llvm-svn: 239940
* Parse 'ghccc' in .ll files as the GHC convention (cc 10)Reid Kleckner2014-12-011-0/+7
| | | | | | | Previously we just used "cc 10" in the .ll files, but that isn't very human readable. llvm-svn: 223076
* Update tests to the newest EH syntax.Bill Wendling2011-08-251-13/+18
| | | | llvm-svn: 138541
* Remove llvm-upgrade and update tests.Tanya Lattner2008-03-011-29/+32
| | | | llvm-svn: 47784
* Use the llvm-upgrade program to upgrade llvm assembly.Reid Spencer2006-12-021-1/+1
| | | | llvm-svn: 32115
* new testcase for csretccChris Lattner2006-05-191-0/+5
| | | | llvm-svn: 28413
* new testcaseChris Lattner2005-05-061-0/+42
llvm-svn: 21750
OpenPOWER on IntegriCloud