llvm-6502/test
Chris Lattner b3f0673d52 Teach valuetracking that byval arguments with a specified alignment are
aligned.

Teach memcpyopt to not give up all hope when confonted with an underaligned
memcpy feeding an overaligned byval.  If the *source* of the memcpy can be
determined to be adequeately aligned, or if it can be forced to be, we can
eliminate the memcpy.

This addresses PR9794.  We now compile the example into:

define i32 @f(%struct.p* nocapture byval align 8 %q) nounwind ssp {
entry:
  %call = call i32 @g(%struct.p* byval align 8 %q) nounwind
  ret i32 %call
}

in both x86-64 and x86-32 mode.  We still don't get a tailcall though,
because tailcalls apparently can't handle byval.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131884 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-23 00:03:39 +00:00
..
Analysis I missed a checking with my GVN change. 2011-05-22 07:20:02 +00:00
Archive Many LLVM tests relies on standard output stream be in the binary mode. Which is not always the case (on Windows in particular). The patch adds a test to verify that the standard output stream is actually in the binary mode. 2011-05-05 18:40:27 +00:00
Assembler Tighten up checking of the validity of casts. (1) The IR parser would 2011-05-18 09:21:57 +00:00
Bindings/Ocaml
Bitcode It's valid to take the blockaddress of a different function, so remove this 2011-05-06 21:09:44 +00:00
BugPoint
CodeGen RTABI chapter 4.3.4 specifies __eabi_mem* calls. Specifically, __eabi_memset accepts parameters (ptr, size, value) in a different order than GNU's memset (ptr, value, size), therefore the special lowering in AAPCS mode. Implementation by Evzen Muller. 2011-05-22 21:41:23 +00:00
DebugInfo Looks like OS X assemblers (including MC) don't like 2011-05-19 22:05:56 +00:00
ExecutionEngine
Feature
FrontendAda
FrontendC Pass -disable-cfi to llc. 2011-05-06 18:01:58 +00:00
FrontendC++ Pass -disable-cfi to llc. 2011-05-06 18:01:58 +00:00
FrontendFortran
FrontendObjC Pass -disable-cfi to llc. 2011-05-06 18:01:58 +00:00
FrontendObjC++
Integer
lib
Linker
LLVMC
MC add test from PR9164 2011-05-22 22:35:34 +00:00
Object
Other Move platform-dependent test to appropriate directory. 2011-05-13 19:45:05 +00:00
Scripts
TableGen
Transforms Teach valuetracking that byval arguments with a specified alignment are 2011-05-23 00:03:39 +00:00
Unit
Verifier
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh