llvm-6502/lib
Bruno Cardoso Lopes 5bc37dd131 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135313 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-15 22:24:33 +00:00
..
Analysis Fix pointer heuristic. Check whether predicator is ICMP_NE instead of if it is 2011-07-15 20:51:06 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Convert CallInst and InvokeInst APIs to use ArrayRef. 2011-07-15 08:37:34 +00:00
Bitcode Convert CallInst and InvokeInst APIs to use ArrayRef. 2011-07-15 08:37:34 +00:00
CodeGen Delete an unused variable and a redundant assert. 2011-07-15 22:19:02 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine Convert CallInst and InvokeInst APIs to use ArrayRef. 2011-07-15 08:37:34 +00:00
Linker Link NamedMDNode before linking function bodies. 2011-07-14 22:13:07 +00:00
MC Move some parts of TargetAsmInfo down to MCAsmInfo. This is not the greatest 2011-07-15 02:09:41 +00:00
Object ObjectFile: Add a method to check whether a section contains a symbol. 2011-07-15 18:39:21 +00:00
Support In Twine::str(), if the Twine stores only a std::string, just return a direct copy of that instead of first copying to a SmallString and converting that to a std::string. Also fix some indentation. 2011-07-15 11:05:37 +00:00
Target Fix a couple of things: 2011-07-15 22:24:33 +00:00
Transforms Disable loop idiom recognition of memset/memcpy if the function being compiled 2011-07-15 18:25:04 +00:00
VMCore Convert CallInst and InvokeInst APIs to use ArrayRef. 2011-07-15 08:37:34 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile