llvm-project/llvm
Dan Gohman 48b185d6f7 Improve MachineMemOperand handling.
- Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions.
   This eliminates MachineInstr's std::list member and allows the data to be
   created by isel and live for the remainder of codegen, avoiding a lot of
   copying and unnecessary translation. This also shrinks MemSDNode.
 - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated
   fields for MachineMemOperands.
 - Change MemSDNode to have a MachineMemOperand member instead of its own
   fields with the same information. This introduces some redundancy, but
   it's more consistent with what MachineInstr will eventually want.
 - Ignore alignment when searching for redundant loads for CSE, but remember
   the greatest alignment.

Target-specific code which previously used MemOperandSDNodes with generic
SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range
so that the SelectionDAG framework knows that MachineMemOperand information
is available.

llvm-svn: 82794
2009-09-25 20:36:54 +00:00
..
Xcode Remove the IA-64 backend. 2009-07-24 00:30:09 +00:00
autoconf PR4047: Permit configure --enable-targets=host,cpp for example. "host" has the 2009-09-23 17:05:42 +00:00
bindings Expose initializing the native target for the execution engine. 2009-09-14 21:54:32 +00:00
cmake Update CMake. 2009-09-17 00:06:48 +00:00
docs Revise C library functions description to be vaguer, per Chris. 2009-09-25 17:04:42 +00:00
examples Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests. 2009-09-25 18:11:52 +00:00
include Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
lib Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
projects install-sh chmods to 0755 by default, and this causes 'git diff' to show 2009-08-28 16:12:48 +00:00
runtime OptimalEdgeProfiling: Creation of profiles. 2009-09-01 19:03:44 +00:00
test Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
tools Make llvm-bcanalyzer percentages more readable. 2009-09-25 16:04:21 +00:00
unittests add and document regex support for FileCheck. You can now do stuff like: 2009-09-24 21:47:32 +00:00
utils Improve MachineMemOperand handling. 2009-09-25 20:36:54 +00:00
website
win32 Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come. 2009-07-24 23:12:02 +00:00
CMakeLists.txt Add count/not tools as executables. 2009-09-24 06:23:57 +00:00
CREDITS.TXT Add myself to the blame list. 2009-08-20 15:20:15 +00:00
LICENSE.TXT Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
Makefile Build (not test) the unittests as part of a normal build. 2009-09-13 22:39:27 +00:00
Makefile.common
Makefile.config.in Improve support for cross-hosted builds of LLVM. 2009-09-02 23:52:23 +00:00
Makefile.rules This patch causes the --enable-debug-runtime configure flag and the 2009-09-25 16:46:09 +00:00
ModuleInfo.txt
README.txt
build-for-llvm-top.sh
configure PR4047: Permit configure --enable-targets=host,cpp for example. "host" has the 2009-09-23 17:05:42 +00:00
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.