llvm-6502/tools
Chandler Carruth 253933ee9e Teach LLVM about a PIE option which, when enabled on top of PIC, makes
optimizations which are valid for position independent code being linked
into a single executable, but not for such code being linked into
a shared library.

I discussed the design of this with Eric Christopher, and the decision
was to support an optional bit rather than a completely separate
relocation model. Fundamentally, this is still PIC relocation, its just
that certain optimizations are only valid under a PIC relocation model
when the resulting code won't be in a shared library. The simplest path
to here is to expose a single bit option in the TargetOptions. If folks
have different/better designs, I'm all ears. =]

I've included the first optimization based upon this: changing TLS
models to the *Exec models when PIE is enabled. This is the LLVM
component of PR12380 and is all of the hard work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154294 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-08 17:51:45 +00:00
..
bugpoint Remove the C backend. 2012-03-23 05:50:46 +00:00
bugpoint-passes
gold
llc Teach LLVM about a PIE option which, when enabled on top of PIC, makes 2012-04-08 17:51:45 +00:00
lli Add profiling support for Intel Parallel Amplifier XE (VTune) for JITted code in LLVM. 2012-03-13 08:33:15 +00:00
llvm-ar
llvm-as
llvm-bcanalyzer fix PR12301 - llvm-bcanalyze should print to stdout, not stderr (except for errors). 2012-03-19 23:40:48 +00:00
llvm-config An easy case where GCC should really be able to work out that the value is only 2012-02-23 08:25:25 +00:00
llvm-cov
llvm-diff llvm::SwitchInst 2012-03-11 06:09:17 +00:00
llvm-dis Enable streaming of bitcode 2012-02-06 22:30:29 +00:00
llvm-dwarfdump
llvm-extract Remove extraneous ".get()->" which is just "->". No functionality change. 2011-12-30 19:17:23 +00:00
llvm-ld Remove dead code. Improve llvm_unreachable text. Simplify some control flow. 2012-02-19 11:37:01 +00:00
llvm-link
llvm-mc Make MCInstrInfo available to the MCInstPrinter. This will be used to remove getInstructionName and the static data it contains since the same tables are already in MCInstrInfo. 2012-04-02 06:09:36 +00:00
llvm-nm Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs. 2012-03-10 02:04:38 +00:00
llvm-objdump Make MCInstrInfo available to the MCInstPrinter. This will be used to remove getInstructionName and the static data it contains since the same tables are already in MCInstrInfo. 2012-04-02 06:09:36 +00:00
llvm-prof
llvm-ranlib
llvm-readobj Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs. 2012-03-10 02:04:38 +00:00
llvm-rtdyld Re-factored RuntimeDyLd: 2012-03-30 16:45:19 +00:00
llvm-shlib Set soname for FreeBSD as well. 2012-04-03 19:48:31 +00:00
llvm-size
llvm-stress Fix some stray semi-colons. 2012-02-29 00:20:33 +00:00
llvm-stub
lto The internalize pass can be dangerous for LTO. 2012-04-05 21:26:44 +00:00
macho-dump
opt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
CMakeLists.txt [Object] 2012-03-01 01:36:50 +00:00
LLVMBuild.txt
Makefile [Object] 2012-03-01 01:36:50 +00:00