llvm-project/llvm
Bruno Cardoso Lopes 8df9cfc279 Fix a couple of things:
1) Make non-legal 256-bit loads to be promoted to v4i64. This lets us
canonize the loads and handle things the same way we use to handle
for 128-bit registers. Despite of what one of the removed comments
explained, the load promotion would not mess with VPERM, it's only a
matter of doing the appropriate bitcasts when this instructions comes
to be introduced. Also make LOAD v8i32 legal.

2) Doing 1) exposed two bugs:
- v4i64 was being promoted to itself for several opcodes (introduced
in r124447 by David Greene) causing endless recursion and the stack to
explode.
- there was no support for allOnes BUILD_VECTORs and ANDNP would fail to
match because it was generating early target constant pools during
lowering.

3) The testcases are already checked-in, doing 1) exposed the
bugs in the current testcases.

4) Tidy up code to be more clear and explicit about AVX.

llvm-svn: 135313
2011-07-15 22:24:33 +00:00
..
autoconf Add new configure option, --with-bug-report-url, which allows users/vendors to 2011-07-15 00:37:26 +00:00
bindings Update OCaml bindings. Opaque types are gone, type holders are gone and the 2011-07-09 18:29:33 +00:00
cmake The *MCAsmInfo.cpp files use ADT/Triple code, so add the Support dep. 2011-07-15 02:34:03 +00:00
docs A couple of minor fixes to the OCaml tutorial. PR10025 and PR10316. Patches by Damien Schoof! 2011-07-15 20:03:30 +00:00
examples Convert CallInst and InvokeInst APIs to use ArrayRef. For the LLVM examples. 2011-07-15 10:59:52 +00:00
include Extract parts of RAGreedy::splitAroundRegion as SplitKit methods. 2011-07-15 21:47:57 +00:00
lib Fix a couple of things: 2011-07-15 22:24:33 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Fix build for (some versions of?) MinGW. Patch by Ruben Van Boxem. 2011-06-23 18:24:27 +00:00
test Fix a couple of things: 2011-07-15 22:24:33 +00:00
tools Teach llvm-objdump to disassemble sections symbol by symbol. 2011-07-15 18:39:24 +00:00
unittests Add an APFloat::convertToInt(APSInt) function that automatically manages the 2011-07-15 07:04:56 +00:00
utils Have tblgen produce code that tolerates operands that return an invalid match class. 2011-07-15 18:30:43 +00:00
website
.gitignore Ignore Vim swap files 2011-05-31 21:54:28 +00:00
CMakeLists.txt Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
CREDITS.TXT For my ego. 2011-07-15 11:26:11 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
Makefile Install libprofile_rt.dylib where it's more available for gcov support. 2011-06-10 21:47:14 +00:00
Makefile.common
Makefile.config.in build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
Makefile.rules TableGen'erated MC lowering for simple pseudo-instructions. 2011-07-08 17:36:35 +00:00
ModuleInfo.txt
README.txt reverting test commit 2011-05-12 17:38:08 +00:00
build-for-llvm-top.sh
configure Rename createAsmInfo to createMCAsmInfo and move registration code to MCTargetDesc to prepare for next round of changes. 2011-07-14 23:50:31 +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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.