llvm-6502/lib
Hans Wennborg 2f471c83a0 Check for dynamic allocas and inline asm that clobbers sp before building
selection dag (PR19012)

In X86SelectionDagInfo::EmitTargetCodeForMemcpy we check with MachineFrameInfo
to make sure that ESI isn't used as a base pointer register before we choose to
emit rep movs (which clobbers esi).

The problem is that MachineFrameInfo wouldn't know about dynamic allocas or
inline asm that clobbers the stack pointer until SelectionDAGBuilder has
encountered them.

This patch fixes the problem by checking for such things when building the
FunctionLoweringInfo.

Differential Revision: http://llvm-reviews.chandlerc.com/D2954

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202930 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-05 02:43:26 +00:00
..
Analysis Allow constant folding of fma and fmuladd 2014-03-05 00:02:00 +00:00
AsmParser [Modules] Move ValueHandle into the IR library where Value itself lives. 2014-03-04 11:17:44 +00:00
Bitcode [Modules] Move ValueHandle into the IR library where Value itself lives. 2014-03-04 11:17:44 +00:00
CodeGen Check for dynamic allocas and inline asm that clobbers sp before building 2014-03-05 02:43:26 +00:00
DebugInfo Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
ExecutionEngine [Modules] Move ValueMap to the IR library. While this class does not 2014-03-04 11:26:31 +00:00
IR C API: Add functions to get or set a GlobalValue's DLLStorageClass 2014-03-05 02:34:23 +00:00
IRReader
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Compare DataLayout by Value, not by pointer. 2014-02-26 17:02:08 +00:00
LTO [cleanup] Re-sort all the includes with utils/sort_includes.py. 2014-03-04 10:07:28 +00:00
MC [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
Object Now that it is possible, use the mangler in IRObjectFile. 2014-02-28 02:17:23 +00:00
Option
Support Remove dependence on std::function. 2014-03-04 22:13:07 +00:00
TableGen Fix odd indentation. 2014-02-27 03:11:13 +00:00
Target Remove a special character in comment that accidentially got committed. 2014-03-04 22:56:57 +00:00
Transforms [Modules] Move the ConstantRange class into the IR library. This is 2014-03-04 12:24:34 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile