1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/include/llvm
Rafael Espindola 8dad37785c Sorry for such a large commit. The summary is that only MachO cares about the
actuall addresses in a .o file, so it is better to let the MachO writer compute
it.

This is good for two reasons. First, areas that shouldn't care about
addresses now don't have access to it. Second, the layout of each section
is independent. I should use this in a subsequent commit to speed it up.

Most of the patch is just removing the section address computation. The two
interesting parts are the change on how we handle padding in the end
of sections and how MachO can get the address of a-b when a and b are in
different sections.

Since now the expression evaluation normally doesn't know the section address,
it will think that a-b needs relocation and let the MachO writer know. Once
it has computed the section addresses, it calls back the expression evaluation
with the section addresses to resolve these expressions.

The remaining problem is the handling of padding. Currently it will create
a special alignment fragment at the end. Since that fragment doesn't update
the alignment of the section, it needs the real address to be computed.

Since now the layout will not compute a-b with a and b in different sections,
the only effect that the special alignment fragment has is update the
address size of the section. This can also be done by the MachO writer.

llvm-svn: 121076
2010-12-07 00:27:36 +00:00
..
ADT Support/ADT: Move c_str() from SmallString to SmallVectorImpl. The Windows PathV2 2010-12-06 04:27:42 +00:00
Analysis Fix PR8728, a miscompilation I recently introduced. When optimizing 2010-12-06 01:48:06 +00:00
Assembly lets get crazy and name the header file the exact class name, 2010-09-02 23:09:42 +00:00
Bitcode Merge System into Support. 2010-11-29 18:16:10 +00:00
CodeGen Implement the first half of LiveDebugVariables. 2010-12-02 00:37:37 +00:00
CompilerDriver Merge System into Support. 2010-11-29 18:16:10 +00:00
Config Support/FileSystem: Fix MinGW build. It doesn't have _chsize_s. 2010-12-03 18:48:56 +00:00
ExecutionEngine Merge System into Support. 2010-11-29 18:16:10 +00:00
MC Sorry for such a large commit. The summary is that only MachO cares about the 2010-12-07 00:27:36 +00:00
Object Merge System into Support. 2010-11-29 18:16:10 +00:00
Support Fix clang warning: "extra ';' inside a class [-pedantic]". 2010-12-06 10:48:11 +00:00
Target Remove the instruction fragment to data fragment lowering since it was causing 2010-12-06 19:08:48 +00:00
Transforms Second attempt at fixing the performance regressions introduced 2010-11-27 08:15:55 +00:00
AbstractTypeUser.h give PATypeHolder an explicit copy ctor which initializes the type pointer, 2010-06-29 19:20:38 +00:00
Argument.h
Attributes.h Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
AutoUpgrade.h Auto-upgrade the magic ".llvm.eh.catch.all.value" global to 2010-09-10 18:51:56 +00:00
BasicBlock.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CallGraphSCCPass.h Remove assignPassManager's default arguments. It's really 2010-08-07 01:25:32 +00:00
CallingConv.h Add ret instruction to PTX backend 2010-09-25 07:46:17 +00:00
CMakeLists.txt
Constant.h Remove apparently unnecessary forward declaration. 2010-09-14 01:18:15 +00:00
Constants.h clarify comment 2010-12-03 01:11:13 +00:00
DerivedTypes.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Function.h Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names 2010-10-23 08:10:43 +00:00
GlobalAlias.h
GlobalValue.h Create the new linker type "linker_private_weak_def_auto". 2010-08-20 22:05:50 +00:00
GlobalVariable.h GlobalOpt: EvaluateFunction() must not evaluate stores to weak_odr globals. 2010-10-19 16:47:23 +00:00
GVMaterializer.h
InitializePasses.h Stub out a new LiveDebugVariables pass. 2010-11-30 02:17:10 +00:00
InlineAsm.h Mult-alt constraint incremental development step 3. 2010-10-29 23:37:38 +00:00
InstrTypes.h Split the logic behind CastInst::isNoopCast into a separate static function, 2010-05-28 21:41:37 +00:00
Instruction.def
Instruction.h Rename removeAllMetadata to clearMetadataHashEntries and simplify 2010-07-20 22:25:04 +00:00
Instructions.h Fix paste-o in ExtractValueInst::getIndexedType() comments. 2010-12-03 14:54:33 +00:00
IntrinsicInst.h remove the pointless check of MemoryUseIntrinsic from 2010-11-30 02:03:47 +00:00
Intrinsics.h
Intrinsics.td Make @llvm.invariant.start not be readonly, so that it has side-effects. This 2010-11-30 04:13:41 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Replace NEON vabdl, vaba, and vabal intrinsics with combinations of the 2010-09-03 01:35:08 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem 2010-08-05 23:36:21 +00:00
IntrinsicsX86.td The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
IntrinsicsXCore.td
LinkAllPasses.h Reference RegionPass to stop it being eliminated. 2010-10-25 15:36:50 +00:00
LinkAllVMCore.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Linker.h Remove obsolete comments about throwing exceptions. 2010-09-02 22:14:51 +00:00
LLVMContext.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
Metadata.h After Dan's recent commit this is no longer true. 2010-09-14 20:32:58 +00:00
Module.h Merge System into Support. 2010-11-29 18:16:10 +00:00
OperandTraits.h
Operator.h Avoid warnings about implicit conversions to `bool' in MSVC. This time 2010-09-25 20:27:36 +00:00
Pass.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassAnalysisSupport.h More #include cleanups. 2010-08-07 01:18:18 +00:00
PassManager.h Tidy some #includes and forward-declarations, and move the C binding code 2010-08-07 00:43:20 +00:00
PassManagers.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassRegistry.h Attempt to fix valgrind complaining about (benign) leaks in pass registration by having PassRegistry 2010-10-20 22:22:30 +00:00
PassSupport.h Merge System into Support. 2010-11-29 18:16:10 +00:00
SymbolTableListTraits.h Avoid many "variable 'Sub' set but not used [-Wunused-but-set-variable]" warnings 2010-06-10 15:06:05 +00:00
Type.h Add x86MMX a few more places. 2010-09-15 00:52:23 +00:00
TypeSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Use.h re-commit r109220, the compile error has already been fixed 2010-07-26 18:48:07 +00:00
User.h
Value.h Factor out Instruction::isSafeToSpeculativelyExecute's code for 2010-11-11 21:23:25 +00:00
ValueSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00