llvm-6502/test
Shuxin Yang e0409098ae Fix a bug in Dead Argument Elimination.
If a function seen at compile time is not necessarily the one linked to
the binary being built, it is illegal to change the actual arguments
passing to it. 

  e.g. 
   --------------------------
   void foo(int lol) {
     // foo() has linkage satisifying isWeakForLinker()
     // "lol" is not used at all.
   }

   void bar(int lo2) {
      // xform to foo(undef) is illegal, as compiler dose not know which
      // instance of foo() will be linked to the the binary being built.
      foo(lol2); 
   }
  -----------------------------

  Such functions can be captured by isWeakForLinker(). NOTE that
mayBeOverridden() is insufficient for this purpose as it dosen't include
linkage types like AvailableExternallyLinkage and LinkOnceODRLinkage.
Take link_odr* as an example, it indicates a set of *EQUIVALENT* globals
that can be merged at link-time. However, the semantic of 
*EQUIVALENT*-functions includes parameters. Changing parameters breaks
the assumption.

  Thank John McCall for help, especially for the explanation of subtle
difference between linkage types.

  rdar://11546243


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192302 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-09 17:21:44 +00:00
..
Analysis
Assembler Change objectsize intrinsic to accept different address spaces. 2013-10-07 18:06:48 +00:00
Bindings/Ocaml
Bitcode
BugPoint
CodeGen [Sparc] Disable tail call optimization for sparc64. 2013-10-09 12:50:39 +00:00
DebugInfo Debug Info: In DIBuilder, the context field of a DICompositeType is updated 2013-10-09 00:17:04 +00:00
ExecutionEngine Updating XFAILs for recent GOT tests 2013-10-05 01:56:50 +00:00
Feature
FileCheck
Instrumentation
Integer
JitListener
Linker Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_type 2013-10-05 01:43:03 +00:00
LTO llvm/test/LTO should run also on cygwin. 2013-10-09 01:07:31 +00:00
MC AArch64: migrate ADRP relaxation test to be llvm-mc only. 2013-10-09 07:53:49 +00:00
Object [Mips] Teach llvm-readobj to print MIPS-specific ELF program headers. 2013-10-07 08:58:27 +00:00
Other
TableGen
tools [Mips] Teach llvm-readobj to print MIPS-specific ELF program headers. 2013-10-07 08:58:27 +00:00
Transforms Fix a bug in Dead Argument Elimination. 2013-10-09 17:21:44 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh