llvm-project/llvm/lib
Hal Finkel 87deb0b8e3 [PowerPC] Fix calls to non-function objects
Looking at r225438 inspired me to see how the PowerPC backend handled the
situation (calling a bitcasted TLS global), and it turns out we also produced
an error (cannot select ...). What it means to "call" something that is not a
function is implementation and platform specific, but in the name of doing
something (besides crashing), this makes sure we do what GCC does (treat all
such calls as calls through a function pointer -- meaning that the pointer is
assumed, as is the convention on PPC, to point to a function descriptor
structure holding the actual code address along with the function's TOC pointer
and environment pointer). As GCC does, we now do the same for calling regular
(non-TLS) non-function globals too.

I'm not sure whether this is the most useful way to define the behavior, but at
least we won't be alone.

llvm-svn: 225617
2015-01-12 04:34:47 +00:00
..
Analysis Fix PR22179. 2015-01-10 23:41:24 +00:00
AsmParser IR: Add 'distinct' MDNodes to bitcode and assembly 2015-01-08 22:38:29 +00:00
Bitcode Use the DiagnosticHandler to print diagnostics when reading bitcode. 2015-01-10 00:07:30 +00:00
CodeGen Revert r225500, it leads to infinite loops. 2015-01-10 21:49:36 +00:00
DebugInfo Implement a very basic colored syntax highlighting for llvm-dwarfdump. 2015-01-06 16:50:25 +00:00
ExecutionEngine Fix undefined behavior (shift of negative value) in RuntimeDyldMachOAArch64::encodeAddend. 2015-01-10 00:46:38 +00:00
IR Cleaup ValueHandle to no longer keep a PointerIntPair for the Value*. 2015-01-09 00:48:47 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LTO Use the DiagnosticHandler to print diagnostics when reading bitcode. 2015-01-10 00:07:30 +00:00
LineEditor
Linker Use the DiagnosticHandler to print diagnostics when reading bitcode. 2015-01-10 00:07:30 +00:00
MC ARM: add support for segment base relocations (SBREL) 2015-01-11 04:39:18 +00:00
Object Don't loop endlessly for MachO files with 0 ncmds 2015-01-06 17:08:26 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData llvm-cov: Sink some reporting logic into CoverageMapping 2014-11-14 01:50:32 +00:00
Support Triple: Add amdgcn triple 2015-01-06 18:00:00 +00:00
TableGen Clean up static analyzer warnings. 2014-12-12 21:48:03 +00:00
Target [PowerPC] Fix calls to non-function objects 2015-01-12 04:34:47 +00:00
Transforms [LoopUnroll] Fix the partial unrolling threshold for small loop sizes 2015-01-10 00:30:55 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00