llvm-6502/lib
Hal Finkel b3b2aac5be Make use of the align parameter attribute for all pointer arguments
We previously supported the align attribute on all (pointer) parameters, but we
only used it for byval parameters. However, it is completely consistent at the
IR level to treat 'align n' on all pointer parameters as an alignment
assumption on the pointer, and now we wll. Specifically, this causes
computeKnownBits to use the align attribute on all pointer parameters, not just
byval parameters. I've also added an explicit parameter attribute test for this
to test/Bitcode/attributes.ll.

And I've updated the LangRef to document the align parameter attribute (as it
turns out, it was not documented at all previously, although the byval
documentation mentioned that it could be used).

There are (at least) two benefits to doing this:
 - It allows enhancing alignment based on the pointer alignment after inlining callees.
 - It allows simplification of pointer arithmetic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213670 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-22 16:58:55 +00:00
..
Analysis Make use of the align parameter attribute for all pointer arguments 2014-07-22 16:58:55 +00:00
AsmParser Add a dereferenceable attribute 2014-07-18 15:51:28 +00:00
Bitcode Add a dereferenceable attribute 2014-07-18 15:51:28 +00:00
CodeGen [SDAG] Refactor the code for inserting a newly allocated SDNode into the 2014-07-22 04:07:55 +00:00
DebugInfo Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
ExecutionEngine Fixing an MSVC conversion warning about implicitly converting the shift results to 64-bits. No functional change intended. 2014-07-21 12:31:43 +00:00
IR Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave. 2014-07-21 23:11:03 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Include <tuple> to make buildbots happy 2014-06-27 18:38:12 +00:00
LTO MergedLoadStoreMotion pass 2014-07-18 19:13:09 +00:00
MC [MC] Pass MCSymbolData to needsRelocateWithSymbol 2014-07-20 23:15:06 +00:00
Object Correct the ownership passing semantics of object::createBinary and make them explicit in the type system. 2014-07-21 16:26:24 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Support Remove uses of the redundant ".reset(nullptr)" of unique_ptr, in favor of ".reset()" 2014-07-19 01:05:11 +00:00
TableGen [TableGen] Allow shift operators to take bits<n> 2014-07-17 17:04:27 +00:00
Target X86: drop relocations on __eh_frame sections globally. 2014-07-22 15:47:09 +00:00
Transforms This patch implements transform for pattern "(A | B) ^ (~A) -> (A | ~B)". 2014-07-22 15:37:39 +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