llvm-6502/lib
Jakob Stoklund Olesen 540c6d9d26 Don't include alignment padding in BBInfo.Size.
Compute alignment padding before and after basic blocks dynamically.

Heed basic block alignment.

This simplifies bookkeeping because we don't have to constantly add and
remove padding from BBInfo.Size.  It also makes it possible to track the
extra known alignment bits we get after a tBR_JTr terminator and when
entering an aligned basic block.

This makes the ARMConstantIslandPass aware of aligned basic blocks.

It is tricky to model block alignment correctly when dealing with inline
assembly and tBR_JTr instructions that have variable size.  If inline
assembly turns out to be smaller than expected, that may cause following
alignment padding to be larger than expected.  This could cause constant
pool entries to move out of range.

To avoid that problem, we use the worst case alignment padding following
inline assembly. This may cause slightly suboptimal constant island
placement in aligned basic blocks following inline assembly.  Normal
functions should be unaffected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146118 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08 00:55:02 +00:00
..
Analysis Probably not a good idea to convert a single vector load into a memcpy. We 2011-12-06 00:19:08 +00:00
Archive build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
AsmParser Push StringRefs through the metadata interface. 2011-12-06 11:50:26 +00:00
Bitcode Fix 80-column. 2011-12-08 00:38:45 +00:00
CodeGen Make sure we correctly set LiveRegGens when a call is unscheduled. <rdar://problem/10460321>. No testcase because this is very sensitive to scheduling. 2011-12-07 22:24:28 +00:00
DebugInfo build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
ExecutionEngine EngineBuilder: support for custom TargetOptions. Fixes the 2011-12-07 23:58:57 +00:00
Linker build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
MC Darwin assembler improved relocs when w/o subsections_via_symbols. 2011-12-07 19:46:59 +00:00
Object build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
Support Adding missing anchor to DATDeltaAlgorithm. 2011-12-07 06:44:23 +00:00
TableGen Check for error after InstantiateMultclassDef. 2011-12-02 18:33:03 +00:00
Target Don't include alignment padding in BBInfo.Size. 2011-12-08 00:55:02 +00:00
Transforms Remove unused include. 2011-12-07 17:18:31 +00:00
VMCore Push StringRefs through the metadata interface. 2011-12-06 11:50:26 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile