llvm-6502/test
Bill Schmidt 212ec3a739 [PPC64] Fix PR19893 - improve code generation for local function addresses
Rafael opened http://llvm.org/bugs/show_bug.cgi?id=19893 to track non-optimal
code generation for forming a function address that is local to the compile
unit.  The existing code was treating both local and non-local functions
identically.

This patch fixes the problem by properly identifying local functions and
generating the proper addis/addi code.  I also noticed that Rafael's earlier
changes to correct the surrounding code in PPCISelLowering.cpp were also
needed for fast instruction selection in PPCFastISel.cpp, so this patch
fixes that code as well.

The existing test/CodeGen/PowerPC/func-addr.ll is modified to test the new
code generation.  I've added a -O0 run line to test the fast-isel code as
well.

Tested on powerpc64[le]-unknown-linux-gnu with no regressions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211056 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-16 21:36:02 +00:00
..
Analysis Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
Assembler Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
Bindings Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
Bitcode IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
BugPoint Revert r206989, "Mark llvm/test/BugPoint/compile-custom.ll as XFAIL:vg_leak." It has been fixed since r207265. 2014-04-27 11:59:33 +00:00
CodeGen [PPC64] Fix PR19893 - improve code generation for local function addresses 2014-06-16 21:36:02 +00:00
DebugInfo Improve comments for r211040 2014-06-16 20:31:50 +00:00
ExecutionEngine Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
Feature Move test for r210734 to Feature/aliases.ll. 2014-06-12 21:37:30 +00:00
FileCheck
Instrumentation Remove top-level Clang -fsanitize= flags for optional ASan features. 2014-06-13 17:53:44 +00:00
Integer
JitListener
Linker Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
LTO Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
MC [mips][mips64r6] ssnop is deprecated on MIPS32r6/MIPS64r6 2014-06-16 13:25:35 +00:00
Object Fix pr17056. 2014-06-16 16:41:00 +00:00
Other Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
TableGen Fix error in tablegen when either operand of !if is an empty list. 2014-06-10 20:10:08 +00:00
tools Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
Transforms LowerSwitch: track bounding range for the condition tree. 2014-06-16 16:55:20 +00:00
Unit
Verifier Move test for r210734 to Feature/aliases.ll. 2014-06-12 21:37:30 +00:00
YAMLParser
.clang-format
CMakeLists.txt OK, NAKAMURA Takumi beat me to this change. So backing out my addition of 2014-05-19 23:26:51 +00:00
lit.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
lit.site.cfg.in
Makefile lld test for configure & make 2014-06-06 09:06:25 +00:00
Makefile.tests
TestRunner.sh