llvm-6502/include/llvm
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
..
ADT APFloat: Add a move ctor and operator= 2014-03-04 20:26:51 +00:00
Analysis [Modules] Move the ConstantRange class into the IR library. This is 2014-03-04 12:24:34 +00:00
AsmParser
Bitcode
CodeGen Check for dynamic allocas and inline asm that clobbers sp before building 2014-03-05 02:43:26 +00:00
Config Add patch level to llvm version in CMake and Autoconf 2014-03-03 15:22:00 +00:00
DebugInfo llvm-dwarfdump: Support for debug_line.dwo section for file names for type units under fission. 2014-02-24 23:58:54 +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++11] Sink the iterator over a Value's users into the Value type 2014-03-05 01:50:35 +00:00
IRReader
LineEditor [cleanup] Re-sort all the includes with utils/sort_includes.py. 2014-03-04 10:07:28 +00:00
LTO LTO API: add lto_module_create_from_memory_with_path. 2014-02-10 23:26:14 +00:00
MC Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
Object Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
Option
Support Partially roll back r202915. 2014-03-05 00:43:02 +00:00
TableGen Typo fix. 2014-01-24 23:40:08 +00:00
Target [Modules] Move CallSite into the IR library where it belogs. It is 2014-03-04 11:01:28 +00:00
Transforms [Modules] Move CFG.h to the IR library as it defines graph traits over 2014-03-04 11:45:46 +00:00
AutoUpgrade.h
CMakeLists.txt
DebugInfo.h Pass to emit DWARF path discriminators. 2014-03-03 20:06:11 +00:00
DIBuilder.h [Modules] Move ValueHandle into the IR library where Value itself lives. 2014-03-04 11:17:44 +00:00
GVMaterializer.h
InitializePasses.h Pass to emit DWARF path discriminators. 2014-03-03 20:06:11 +00:00
InstVisitor.h [Modules] Move CallSite into the IR library where it belogs. It is 2014-03-04 11:01:28 +00:00
LinkAllIR.h
LinkAllPasses.h
Linker.h Set the SuppressWarnings option on tool level and propagate to the library. 2014-02-20 22:19:24 +00:00
Pass.h Constify the Optnone checks in IR passes. 2014-02-26 01:23:26 +00:00
PassAnalysisSupport.h
PassManager.h
PassRegistry.h
PassSupport.h Revert "[C++11] Replace LLVM atomics with std::atomic." 2014-03-03 18:02:34 +00:00