llvm-6502/test
Roman Divacky 9d760ae5c6 This patch corrects logic in PPCFrameLowering for save and restore of
nonvolatile condition register fields across calls under the SVR4 ABIs.                                            
                                                                                                                   
 * With the 64-bit ABI, the save location is at a fixed offset of 8 from                                           
the stack pointer.  The frame pointer cannot be used to access this                                                
portion of the stack frame since the distance from the frame pointer may                                           
change with alloca calls.                                                                                          
                                                                                                                   
 * With the 32-bit ABI, the save location is just below the general
register save area, and is accessed via the frame pointer like the rest
of the save areas.  This is an optional slot, so it must only be created                                           
if any of CR2, CR3, and CR4 were modified.                                                                      
                                                                                                                   
 * For both ABIs, save/restore logic is generated only if one of the     
nonvolatile CR fields were modified.                                   

I also took this opportunity to clean up an extra FIXME in
PPCFrameLowering.h.  Save area offsets for 32-bit GPRs are meaningless
for the 64-bit ABI, so I removed them for correctness and efficiency.


Fixes PR13708 and partially also PR13623. It lets us enable exception handling
on PPC64.

Patch by William J. Schmidt!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163713 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-12 14:47:47 +00:00
..
Analysis BasicAA: Recognize cyclic NoAlias phis 2012-09-06 14:41:53 +00:00
Archive
Assembler The normal edge of an invoke is not allowed to branch to a block with a 2012-08-10 20:55:20 +00:00
Bindings/Ocaml fix test's RUN lines 2012-09-02 15:07:25 +00:00
Bitcode
BugPoint
CodeGen This patch corrects logic in PPCFrameLowering for save and restore of 2012-09-12 14:47:47 +00:00
DebugInfo Add some support for dealing with an object pointer on arguments. 2012-09-12 00:26:55 +00:00
ExecutionEngine Revert "Enable MCJIT tests on Darwin." 2012-09-06 03:24:09 +00:00
Feature Change the linker_private_weak_def_auto' linkage to linkonce_odr_auto_hide' to 2012-08-17 18:33:14 +00:00
Instrumentation [asan] add code to detect global initialization fiasco in C/C++. The sub-pass is off by default for now. Patch by Reid Watson. Note: this patch changes the interface between LLVM and compiler-rt parts of asan. The corresponding patch to compiler-rt will follow. 2012-08-21 08:24:25 +00:00
Integer
Linker
MC Add newline. 2012-09-10 23:09:27 +00:00
Object Add missing file for test. 2012-09-05 23:52:20 +00:00
Other
Scripts
TableGen Re-work bit/bits value resolving in tblgen 2012-09-06 23:32:48 +00:00
Transforms SimplifyCFG: preserve branch-weight metadata when creating a new switch from 2012-09-11 17:43:35 +00:00
Unit
Verifier Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
YAMLParser
CMakeLists.txt llvm/test: [CMake] Add profile_rt-shared to deps. 2012-08-29 00:37:56 +00:00
lit.cfg
lit.site.cfg.in
Makefile yet another attempt at fixing @OCAMLOPT@ for sed. 2012-09-07 09:24:13 +00:00
Makefile.tests
TestRunner.sh