llvm-project/llvm/lib
Derek Schuff 5a14306323 [WebAssembly] Fix ADJCALLSTACKDOWN/UP use/defs
Summary:
ADJCALLSTACK{DOWN,UP} (aka CALLSEQ_{START,END}) MIs are supposed to use
and def the stack pointer. Since they do not, all the nodes are being
eliminated by DeadMachineInstructionElim, so they aren't in the IR when
PrologEpilogInserter/eliminateCallFramePseudo needs them.

This change fixes that, but since RegStackify will not stackify across
them (and it runs early, before PEI), change LowerCall to only emit them
when the call frame size is > 0. That makes the current code work the
same way and makes code handled by D15344 also work the same way. We can
expand the condition beyond NumBytes > 0 in the future if needed.

Reviewers: sunfish, jfb

Subscribers: jfb, dschuff, llvm-commits

Differential Revision: http://reviews.llvm.org/D15459

llvm-svn: 255356
2015-12-11 18:55:34 +00:00
..
Analysis [LazyValueInfo] Stop inserting overdefined values into ValueCache to 2015-12-11 00:49:47 +00:00
AsmParser Macro debug info support in LLVM IR 2015-12-10 12:56:35 +00:00
Bitcode Macro debug info support in LLVM IR 2015-12-10 12:56:35 +00:00
CodeGen CXX_FAST_TLS calling convention: target independent portion. 2015-12-11 18:24:30 +00:00
DebugInfo [llvm-dwp] Retrieve the DWOID from the CU for the cu_index entry 2015-12-04 17:20:04 +00:00
ExecutionEngine [Orc] Rename IndirectStubsManagerBase to IndirectStubsManager. 2015-12-06 19:44:45 +00:00
Fuzzer [LibFuzzer] Introducing FUZZER_FLAG_UNSIGNED and using it for seeding. 2015-12-10 20:41:53 +00:00
IR fix typos; NFC 2015-12-11 18:12:01 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LTO MSVC complains about this being ambiguous. 2015-12-04 22:26:21 +00:00
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor
Linker Fix another case where the linkage was not set. 2015-12-10 18:44:26 +00:00
MC Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
Object Use make_range to reduce mentions of iterator type. NFC 2015-12-06 05:08:07 +00:00
Option [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
Passes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
ProfileData [PGO] Read VP raw data without depending on the Value field 2015-12-11 06:53:53 +00:00
Support Macro debug info support in LLVM IR 2015-12-10 12:56:35 +00:00
TableGen [TblGen] ArrayRefize TGParser. No functional change intended. 2015-10-24 12:46:45 +00:00
Target [WebAssembly] Fix ADJCALLSTACKDOWN/UP use/defs 2015-12-11 18:55:34 +00:00
Transforms Revert r255247, r255265, and r255286 due to serious compile-time regressions. 2015-12-11 18:39:41 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00