hanchenye-llvm-project/llvm/test
Chris Lattner 83791ced7b 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.

llvm-svn: 131884
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 XFAIL vg_leak the new test as the rest. 2010-12-23 21:22:09 +00:00
Bitcode It's valid to take the blockaddress of a different function, so remove this 2011-05-06 21:09:44 +00:00
BugPoint test: Check the feature 'loadable_module' with load modules in %llvmshlibdir. 2010-11-29 07:58:32 +00:00
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 XFAIL for now. If someone with access to an ARM/Linux host wants to have a look 2010-12-02 20:20:32 +00:00
Feature Revert r129235 pending a vetting of the EH rewrite. 2011-04-10 23:18:04 +00:00
FrontendAda Will not compile without the spec! 2011-03-31 10:03:32 +00:00
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 Use -S rather than -c for the benefit of dragonegg. 2010-11-25 21:41:35 +00:00
FrontendObjC Pass -disable-cfi to llc. 2011-05-06 18:01:58 +00:00
FrontendObjC++ Remove explicit uses of -emit-llvm, the test infrastructure adds it 2010-11-25 21:48:20 +00:00
Integer
LLVMC
Linker Correctly merge available_externally and regular definitions when they have 2011-02-01 05:33:52 +00:00
MC add test from PR9164 2011-05-22 22:35:34 +00:00
Object Revert "Object: Renable the tests now that none of the build bots complain about aliasing." 2011-01-21 06:27:04 +00:00
Other Move platform-dependent test to appropriate directory. 2011-05-13 19:45:05 +00:00
Scripts Print all 64bits for st_value and st_size. Adjust tests accordingly. 2010-12-20 20:49:43 +00:00
TableGen Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Transforms Teach valuetracking that byval arguments with a specified alignment are 2011-05-23 00:03:39 +00:00
Unit Test: Fix Support.Path and _all_ of the unittest death tests. GetTempPath defaults to \Windows\. 2010-12-07 01:23:49 +00:00
Verifier
lib Use LLVMCC_EMITIR_FLAG rather than hard-coding "-emit-llvm". 2010-11-25 21:19:52 +00:00
CMakeLists.txt Fix compiler command line used by lit.py when working with NMake 2011-04-12 22:10:38 +00:00
Makefile Reapply r127073(partially): Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO). 2011-03-08 12:25:10 +00:00
Makefile.tests
TestRunner.sh
lit.cfg test/lit.cfg: Add PATHEXT to 'substitution', to recognize tools on Windows hosts. Thanks to Danil Malyshev! 2011-02-24 12:34:34 +00:00
lit.site.cfg.in CMake: Add the new option LLVM_LIT_TOOLS_DIR. It can specify "Path to GnuWin32 tools". 2011-02-09 04:18:58 +00:00
site.exp.in test: Use $SharedLibDir for loadable modules. On Cygming, loadable modules are not in lib/ but bin. 2010-11-29 00:20:21 +00:00