oota-llvm.git
14 years agoTrailing whitespace.
Jim Grosbach [Thu, 21 Oct 2010 22:04:05 +0000 (22:04 +0000)]
Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117073 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoARM Binary encoding information for BFC/BFI instructions.
Jim Grosbach [Thu, 21 Oct 2010 22:03:21 +0000 (22:03 +0000)]
ARM Binary encoding information for BFC/BFI instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117072 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd some more documentation.
Dan Gohman [Thu, 21 Oct 2010 21:55:35 +0000 (21:55 +0000)]
Add some more documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117070 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd tests for NEON vmul encoding.
Owen Anderson [Thu, 21 Oct 2010 21:51:58 +0000 (21:51 +0000)]
Add tests for NEON vmul encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117069 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThese don't need to be virtual.
Eric Christopher [Thu, 21 Oct 2010 21:47:51 +0000 (21:47 +0000)]
These don't need to be virtual.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117068 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRename this test to better reflect its contents.
Owen Anderson [Thu, 21 Oct 2010 21:40:15 +0000 (21:40 +0000)]
Rename this test to better reflect its contents.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117067 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix type in passes.
Tobias Grosser [Thu, 21 Oct 2010 21:16:03 +0000 (21:16 +0000)]
Fix type in passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117065 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd tests for NEON encodings of vaddhn and vraddhn.
Owen Anderson [Thu, 21 Oct 2010 20:56:57 +0000 (20:56 +0000)]
Add tests for NEON encodings of vaddhn and vraddhn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117064 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix Warnings.
Michael J. Spencer [Thu, 21 Oct 2010 20:49:38 +0000 (20:49 +0000)]
Fix Warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117062 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoX86: Base _fltused on the FunctionType of the called value instead of the potentially...
Michael J. Spencer [Thu, 21 Oct 2010 20:49:23 +0000 (20:49 +0000)]
X86: Base _fltused on the FunctionType of the called value instead of the potentially null "CalledFunction". Thanks Duncan!

This is needed for indirect calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117061 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove the encoding logic for Q registers into getMachineOpValue().
Owen Anderson [Thu, 21 Oct 2010 20:49:13 +0000 (20:49 +0000)]
Move the encoding logic for Q registers into getMachineOpValue().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117060 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd tests for NEON encodings of vqadd, which was already correctly encoded.
Owen Anderson [Thu, 21 Oct 2010 20:42:04 +0000 (20:42 +0000)]
Add tests for NEON encodings of vqadd, which was already correctly encoded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117059 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTrailing whitespace.
Mikhail Glushenkov [Thu, 21 Oct 2010 20:40:39 +0000 (20:40 +0000)]
Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117058 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSupport: Add Endian.h
Michael J. Spencer [Thu, 21 Oct 2010 20:28:21 +0000 (20:28 +0000)]
Support: Add Endian.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117057 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoARM encodes Q registers as 2xregno (i.e. the number of the D register that correspond...
Owen Anderson [Thu, 21 Oct 2010 20:21:49 +0000 (20:21 +0000)]
ARM encodes Q registers as 2xregno (i.e. the number of the D register that corresponds to the lower
half of the Q register), rather than with just regno.  This allows us to unify the encodings for
a lot of different NEON instrucitons that differ only in whether they have Q or D register operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117056 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle storing args to the stack for calls.
Eric Christopher [Thu, 21 Oct 2010 20:09:54 +0000 (20:09 +0000)]
Handle storing args to the stack for calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117055 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdding initial AsmParser implementation for the MBlaze backend. It is
Wesley Peck [Thu, 21 Oct 2010 19:48:38 +0000 (19:48 +0000)]
Adding initial AsmParser implementation for the MBlaze backend. It is
mostly based on the ARM AsmParser at this time and is not particularly
functional.

Changed the MBlaze data layout from:
    "E-p:32:32-i8:8:8-i16:16:16-i64:32:32-f64:32:32-v64:32:32-v128:32:32-n32"
to:
    "E-p:32:32:32-i8:8:8-i16:16:16"
because the MicroBlaze doesn't have i64, f64, v64, or v128 data types.

Cleaned up the MBlaze source code:
    1. The floating point register class has been removed. The
       MicroBlaze does not have floating point registers. Floating
       point values are simply stored in integer registers.
    2. Renaming the CPURegs register class to GPR to reflect the
       standard naming.
    3. Removing a lot of stale code from AsmPrinter after
       the conversion to InstPrinter.
    4. Simplified sign extended loads by marking them as
       expanded in ISelLowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117054 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExplain what "constant" means here.
Dan Gohman [Thu, 21 Oct 2010 19:45:09 +0000 (19:45 +0000)]
Explain what "constant" means here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117053 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore load/store refactoring, call reg+offset simplification from within
Eric Christopher [Thu, 21 Oct 2010 19:40:30 +0000 (19:40 +0000)]
More load/store refactoring, call reg+offset simplification from within
the emitter to handle the addresses. Only simplify the offset if we need
to - also fix bug where in addrmode 5 we weren't dividing the offset by
4, which showed up due to not always lowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117051 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotrailing whitespace
Jim Grosbach [Thu, 21 Oct 2010 19:38:40 +0000 (19:38 +0000)]
trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117050 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate comments.
Dan Gohman [Thu, 21 Oct 2010 19:01:22 +0000 (19:01 +0000)]
Update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117048 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd correct NEON encodings for vhadd and vrhadd.
Owen Anderson [Thu, 21 Oct 2010 18:55:04 +0000 (18:55 +0000)]
Add correct NEON encodings for vhadd and vrhadd.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117047 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't include the destination interval in the union when computing
Jakob Stoklund Olesen [Thu, 21 Oct 2010 18:47:08 +0000 (18:47 +0000)]
Don't include the destination interval in the union when computing
Parent - union(Y, ...). Doh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117042 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPermit landing pad successor blocks when verifying basic blocks that end in an
Jakob Stoklund Olesen [Thu, 21 Oct 2010 18:47:06 +0000 (18:47 +0000)]
Permit landing pad successor blocks when verifying basic blocks that end in an
unconditional branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117041 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd correct encodings for NEON vaddw.s* and vaddw.u*.
Owen Anderson [Thu, 21 Oct 2010 18:20:25 +0000 (18:20 +0000)]
Add correct encodings for NEON vaddw.s* and vaddw.u*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117040 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide correct NEON encodings for vaddl.u* and vaddl.s*.
Owen Anderson [Thu, 21 Oct 2010 18:09:17 +0000 (18:09 +0000)]
Provide correct NEON encodings for vaddl.u* and vaddl.s*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117039 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not recurse into symbol refs that have a variant kind. This prevents us
Rafael Espindola [Thu, 21 Oct 2010 18:00:20 +0000 (18:00 +0000)]
Do not recurse into symbol refs that have a variant kind. This prevents us
from losing the variant when producing a relocation on an alias.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117037 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore tweaks to X86 instructions to allow the 'w' suffix in places it makes
Kevin Enderby [Thu, 21 Oct 2010 17:16:46 +0000 (17:16 +0000)]
More tweaks to X86 instructions to allow the 'w' suffix in places it makes
sense, when the instruction takes the 16-bit ax register or m16 memory
location.  These changes to llvm-mc matches what the darwin assembler allows
for these instructions.  Also added the missing flex (without the wait prefix)
and ud2a as an alias to ud2 (still to add ud2b).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117031 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAlignLoc is never used for anything - zap it (gcc-4.6 warning).
Duncan Sands [Thu, 21 Oct 2010 16:07:10 +0000 (16:07 +0000)]
AlignLoc is never used for anything - zap it (gcc-4.6 warning).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117025 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThe return value of this call is not used, so no point
Duncan Sands [Thu, 21 Oct 2010 16:06:28 +0000 (16:06 +0000)]
The return value of this call is not used, so no point
in assigning it to a variable (gcc-4.6 warning).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117024 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRetOp is not actually used for anything useful (though
Duncan Sands [Thu, 21 Oct 2010 16:05:44 +0000 (16:05 +0000)]
RetOp is not actually used for anything useful (though
it looks like maybe it was supposed to be used in the
test...), so zap it (gcc-4.6 warning).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117023 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThe variable liTRC is not used for anything useful, zap it
Duncan Sands [Thu, 21 Oct 2010 16:04:43 +0000 (16:04 +0000)]
The variable liTRC is not used for anything useful, zap it
(gcc-4.6 warning).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117022 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove some variables that are never really used
Duncan Sands [Thu, 21 Oct 2010 16:03:28 +0000 (16:03 +0000)]
Remove some variables that are never really used
(gcc-4.6 warns about these).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117021 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd parentheses to pacify gcc, which warns otherwise.
Duncan Sands [Thu, 21 Oct 2010 16:02:12 +0000 (16:02 +0000)]
Add parentheses to pacify gcc, which warns otherwise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117020 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoArgh, completely forgot to add this to the release notes!
Duncan Sands [Thu, 21 Oct 2010 14:40:02 +0000 (14:40 +0000)]
Argh, completely forgot to add this to the release notes!
Better late than never, right?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117009 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix the cleanup process of exception information in JIT. Now JIT
Duncan Sands [Thu, 21 Oct 2010 08:57:29 +0000 (08:57 +0000)]
Fix the cleanup process of exception information in JIT.  Now JIT
deregisters registered by it FDE structures allowing consecutive
JIT runs to succeed.  Patch by Yuri.  Fixes PR8285.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117004 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix whitespace.
Bill Wendling [Thu, 21 Oct 2010 06:25:08 +0000 (06:25 +0000)]
Fix whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117002 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemoving stale AsmPrinter directory from MicroBlaze backend.
Wesley Peck [Thu, 21 Oct 2010 05:05:06 +0000 (05:05 +0000)]
Removing stale AsmPrinter directory from MicroBlaze backend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116998 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDeleted lib/Target/MBlaze/AsmPrinter/CMakeLists.txt. This way the
Oscar Fuentes [Thu, 21 Oct 2010 05:01:26 +0000 (05:01 +0000)]
Deleted lib/Target/MBlaze/AsmPrinter/CMakeLists.txt. This way the
CMake build does not try to build that library, which collides with
MBlaze/InstPrinter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116997 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRecommit 116986 with capitalization typo fixed.
Wesley Peck [Thu, 21 Oct 2010 03:57:26 +0000 (03:57 +0000)]
Recommit 116986 with capitalization typo fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116993 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoputback r116983 and fix simple-fp-encoding.ll tests
Andrew Trick [Thu, 21 Oct 2010 03:40:16 +0000 (03:40 +0000)]
putback r116983 and fix simple-fp-encoding.ll tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116992 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReverting the commit 116986. It was breaking the build on llvm-x86_64-linux though it
Wesley Peck [Thu, 21 Oct 2010 03:34:22 +0000 (03:34 +0000)]
Reverting the commit 116986. It was breaking the build on llvm-x86_64-linux though it
compiles on OS X. I'll ensure that it builds on a linux machine before committing
again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116991 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r116983, which is breaking all the buildbots.
Owen Anderson [Thu, 21 Oct 2010 03:11:16 +0000 (03:11 +0000)]
Revert r116983, which is breaking all the buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116987 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMajor update of the MicroBlaze backend. The new features are:
Wesley Peck [Thu, 21 Oct 2010 03:09:55 +0000 (03:09 +0000)]
Major update of the MicroBlaze backend. The new features are:
    1. A delay slot filler that searches for valid instructions
       to fill the delay slot with. Previously NOPs would always
       be inserted into delay slots.
    2. Support for MC based instruction printer added.
    3. Support for MC based machine code generation and ELF
       file generation. ELF file generation does not yet
       completely work as much of the ELF support infrastructure
       is still x86/x86-64 specific.
    4. General clean up of the MBlaze backend code. Much of the
       tablegen code has been cleanup and simplified.

Bug Fixes:
    1. Removed duplicate periods from subtarget feature descriptions.
    2. Many of the instructions had bad machine code information
       in the tablegen files. Much of this has been fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116986 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdding the EM_MBLAZE value to the machine architectures enumeration to
Wesley Peck [Thu, 21 Oct 2010 02:52:59 +0000 (02:52 +0000)]
Adding the EM_MBLAZE value to the machine architectures enumeration to
support future ELF file generation by the MBlaze backend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116985 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoX86: Add alloca probing to dynamic alloca on Windows. Fixes PR8424.
Michael J. Spencer [Thu, 21 Oct 2010 01:41:01 +0000 (01:41 +0000)]
X86: Add alloca probing to dynamic alloca on Windows. Fixes PR8424.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116984 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missing scheduling itineraries for transfers between core registers and VFP regis...
Evan Cheng [Thu, 21 Oct 2010 01:12:00 +0000 (01:12 +0000)]
Add missing scheduling itineraries for transfers between core registers and VFP registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116983 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement correct encodings for NEON vadd, both integer and floating point.
Owen Anderson [Thu, 21 Oct 2010 00:48:00 +0000 (00:48 +0000)]
Implement correct encodings for NEON vadd, both integer and floating point.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116981 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCodeGen-Windows: Only emit _fltused if a VarArg function is called with floating...
Michael J. Spencer [Thu, 21 Oct 2010 00:08:21 +0000 (00:08 +0000)]
CodeGen-Windows: Only emit _fltused if a VarArg function is called with floating point args.
This should be the minimum set of functions that could possibly need it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116978 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCustom lower f64 args passed in integer registers.
Eric Christopher [Thu, 21 Oct 2010 00:01:47 +0000 (00:01 +0000)]
Custom lower f64 args passed in integer registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116977 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix Whitespace.
Michael J. Spencer [Wed, 20 Oct 2010 23:40:27 +0000 (23:40 +0000)]
Fix Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116972 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd encoding for moving a value between two ARM core registers and a doublework
Bill Wendling [Wed, 20 Oct 2010 23:37:40 +0000 (23:37 +0000)]
Add encoding for moving a value between two ARM core registers and a doublework
extension register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116970 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemember to keep track of rematted values.
Jakob Stoklund Olesen [Wed, 20 Oct 2010 22:50:42 +0000 (22:50 +0000)]
Remember to keep track of rematted values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116962 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd encodings for movement between ARM core registers and single-precision
Bill Wendling [Wed, 20 Oct 2010 22:44:54 +0000 (22:44 +0000)]
Add encodings for movement between ARM core registers and single-precision
registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116961 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMemdep says that an instruction clobbers itself
Dan Gohman [Wed, 20 Oct 2010 22:37:41 +0000 (22:37 +0000)]
Memdep says that an instruction clobbers itself
when it means there is no specific clobber instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116960 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAttempt to fix valgrind complaining about (benign) leaks in pass registration by...
Owen Anderson [Wed, 20 Oct 2010 22:22:30 +0000 (22:22 +0000)]
Attempt to fix valgrind complaining about (benign) leaks in pass registration by having PassRegistry
delete PassInfo objects that were created using new-style initialization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116959 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFactor out the main aliasing check into a separate function.
Dan Gohman [Wed, 20 Oct 2010 22:11:14 +0000 (22:11 +0000)]
Factor out the main aliasing check into a separate function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116958 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd some comments.
Dan Gohman [Wed, 20 Oct 2010 22:04:02 +0000 (22:04 +0000)]
Add some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116957 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore accurate estimate / tracking of register pressure.
Evan Cheng [Wed, 20 Oct 2010 22:03:58 +0000 (22:03 +0000)]
More accurate estimate / tracking of register pressure.
- Initial register pressure in the loop should be all the live defs into the
  loop. Not just those from loop preheader which is often empty.
- When an instruction is hoisted, update register pressure from loop preheader
  to the original BB.
- Treat only use of a virtual register as kill since the code is still SSA.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116956 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix crash introduced in 116852. 8573915.
Dale Johannesen [Wed, 20 Oct 2010 22:03:37 +0000 (22:03 +0000)]
Fix crash introduced in 116852.  8573915.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116955 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix comments; the type graph is currently a tree, not a DAG.
Dan Gohman [Wed, 20 Oct 2010 22:02:58 +0000 (22:02 +0000)]
Fix comments; the type graph is currently a tree, not a DAG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116954 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCut unneeded global variable.
Jason W Kim [Wed, 20 Oct 2010 22:01:39 +0000 (22:01 +0000)]
Cut unneeded global variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116953 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove some of the InlineSpiller rematerialization code into LiveRangeEdit.
Jakob Stoklund Olesen [Wed, 20 Oct 2010 22:00:51 +0000 (22:00 +0000)]
Move some of the InlineSpiller rematerialization code into LiveRangeEdit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116951 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove Synthesizable from the Type system; as MMX vector
Dale Johannesen [Wed, 20 Oct 2010 21:32:10 +0000 (21:32 +0000)]
Remove Synthesizable from the Type system; as MMX vector
types are no longer Legal on X86, we don't need it.
No functional change.  8499854.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116947 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhen SimpleRegisterCoalescing is trimming kill flags on a physical register
Jakob Stoklund Olesen [Wed, 20 Oct 2010 18:45:55 +0000 (18:45 +0000)]
When SimpleRegisterCoalescing is trimming kill flags on a physical register
operand, also check if subregisters are killed.

Add <imp-def> operands for subregisters that remain alive after a super register
is killed.

I don't have a testcase for this that reproduces on trunk. <rdar://problem/8441758>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116940 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle _GLOBAL_OFFSET_TABLE_ correctly.
Rafael Espindola [Wed, 20 Oct 2010 16:46:08 +0000 (16:46 +0000)]
Handle _GLOBAL_OFFSET_TABLE_ correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116932 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse C++03...
Michael J. Spencer [Wed, 20 Oct 2010 16:00:45 +0000 (16:00 +0000)]
Use C++03...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116927 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSystem-Win32/Path: Fix incorrect assumption in isValid.
Michael J. Spencer [Wed, 20 Oct 2010 15:23:58 +0000 (15:23 +0000)]
System-Win32/Path: Fix incorrect assumption in isValid.

A recent commit to clang exposed a bug in the Win32 Path code. This is a
minimal fix for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116925 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a comment about ATTRIBUTE_UNUSED to avoid further confusion over when to
Chandler Carruth [Wed, 20 Oct 2010 08:44:27 +0000 (08:44 +0000)]
Add a comment about ATTRIBUTE_UNUSED to avoid further confusion over when to
use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116920 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove remaining uses of ATTRIBUTE_UNUSED on variables, and delete three
Chandler Carruth [Wed, 20 Oct 2010 08:27:02 +0000 (08:27 +0000)]
Remove remaining uses of ATTRIBUTE_UNUSED on variables, and delete three
#includes in the process.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116919 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a TODO by removing some unnecesary copies.
Eric Christopher [Wed, 20 Oct 2010 08:02:24 +0000 (08:02 +0000)]
Fix a TODO by removing some unnecesary copies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116915 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRecord sysbols created by aliases. Fixes PR8414.
Rafael Espindola [Wed, 20 Oct 2010 04:57:22 +0000 (04:57 +0000)]
Record sysbols created by aliases. Fixes PR8414.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116910 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd ATTRIBUTE_UNUSED for -Asserts.
NAKAMURA Takumi [Wed, 20 Oct 2010 04:05:29 +0000 (04:05 +0000)]
Add ATTRIBUTE_UNUSED for -Asserts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116909 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd RegionPass support.
Tobias Grosser [Wed, 20 Oct 2010 01:54:44 +0000 (01:54 +0000)]
Add RegionPass support.

A RegionPass is executed like a LoopPass but on the regions detected by the
RegionInfo pass instead of the loops detected by the LoopInfo pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116905 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix CMake build
Douglas Gregor [Wed, 20 Oct 2010 01:36:56 +0000 (01:36 +0000)]
Fix CMake build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116903 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a way to emit StringSwitch of clang attribute spellings.
Anders Carlsson [Wed, 20 Oct 2010 01:21:53 +0000 (01:21 +0000)]
Add a way to emit StringSwitch of clang attribute spellings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116899 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix backwards conditional.
Jim Grosbach [Wed, 20 Oct 2010 01:10:01 +0000 (01:10 +0000)]
Fix backwards conditional.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116897 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake CodeGen TBAA-aware.
Dan Gohman [Wed, 20 Oct 2010 00:31:05 +0000 (00:31 +0000)]
Make CodeGen TBAA-aware.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116890 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd dynamic realignment when rematerializing the base register.
Jim Grosbach [Wed, 20 Oct 2010 00:02:50 +0000 (00:02 +0000)]
Add dynamic realignment when rematerializing the base register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116886 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNuke a commented out bit that got missed a while back.
Jim Grosbach [Tue, 19 Oct 2010 23:48:47 +0000 (23:48 +0000)]
Nuke a commented out bit that got missed a while back.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116883 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSpelling typo fix. s/incput/input/. Thanks, Bob!
Jim Grosbach [Tue, 19 Oct 2010 23:39:23 +0000 (23:39 +0000)]
Spelling typo fix. s/incput/input/. Thanks, Bob!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116880 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a pre-dispatch SjLj EH hook on the unwind edge for targets to do any
Jim Grosbach [Tue, 19 Oct 2010 23:27:08 +0000 (23:27 +0000)]
Add a pre-dispatch SjLj EH hook on the unwind edge for targets to do any
setup they require. Use this for ARM/Darwin to rematerialize the base
pointer from the frame pointer when required. rdar://8564268

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116879 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove NoAA out of BasicAliasAnalysis.cpp into its own file, now that
Dan Gohman [Tue, 19 Oct 2010 23:09:08 +0000 (23:09 +0000)]
Move NoAA out of BasicAliasAnalysis.cpp into its own file, now that
it doesn't have a special relationship with BasicAliasAnalysis
anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116876 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply r116831 and r116839, converting AliasAnalysis to use
Dan Gohman [Tue, 19 Oct 2010 22:54:46 +0000 (22:54 +0000)]
Reapply r116831 and r116839, converting AliasAnalysis to use
uint64_t, plus fixes for places I missed before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116875 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExtend StringRef's edit-distance algorithm to permit an upper bound on the allowed...
Douglas Gregor [Tue, 19 Oct 2010 22:13:48 +0000 (22:13 +0000)]
Extend StringRef's edit-distance algorithm to permit an upper bound on the allowed edit distance

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116867 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate comments to remove obsolete references.
Jim Grosbach [Tue, 19 Oct 2010 21:34:47 +0000 (21:34 +0000)]
Update comments to remove obsolete references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116863 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r116831 and r116839, which are breaking selfhost builds.
Dan Gohman [Tue, 19 Oct 2010 21:06:16 +0000 (21:06 +0000)]
Revert r116831 and r116839, which are breaking selfhost builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116858 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoShrink MachineOperand from 40 to 32 bytes on 64-bit hosts.
Jakob Stoklund Olesen [Tue, 19 Oct 2010 20:56:32 +0000 (20:56 +0000)]
Shrink MachineOperand from 40 to 32 bytes on 64-bit hosts.

Pull an unsigned out of the Contents union such that it has the same size as two
pointers and no padding.

Arrange members such that the Contents union and all pointers can be 8-byte
aligned without padding.

This speeds up code generation by 0.8% on a 64-bit host. 32-bit hosts should be
unaffected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116857 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPasses do not need to recursively initialize passes that they preserve, if
Owen Anderson [Tue, 19 Oct 2010 20:08:44 +0000 (20:08 +0000)]
Passes do not need to recursively initialize passes that they preserve, if
they do not also require them.  This allows us to reduce inter-pass linkage
dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116854 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEnable using vdup for vector constants which are splat of
Dale Johannesen [Tue, 19 Oct 2010 20:00:17 +0000 (20:00 +0000)]
Enable using vdup for vector constants which are splat of
integers by default, and remove the controlling flag, now
that LICM will hoist such vdup's.  8003375.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116852 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove extraneous slash.
Owen Anderson [Tue, 19 Oct 2010 19:54:48 +0000 (19:54 +0000)]
Remove extraneous slash.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116851 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSmall cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_.
Rafael Espindola [Tue, 19 Oct 2010 19:31:37 +0000 (19:31 +0000)]
Small cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116848 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRe-enable register pressure aware machine licm with fixes. Hoist() may have
Evan Cheng [Tue, 19 Oct 2010 18:58:51 +0000 (18:58 +0000)]
Re-enable register pressure aware machine licm with fixes. Hoist() may have
erased the instruction during LICM so UpdateRegPressureAfter() should not
reference it afterwards.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116845 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOops, check in all the files for converting AliasAnalysis to
Dan Gohman [Tue, 19 Oct 2010 18:08:27 +0000 (18:08 +0000)]
Oops, check in all the files for converting AliasAnalysis to
use uint64_t.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116839 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agounittests: Use the correct defines and global variables when building on CMake.
Michael J. Spencer [Tue, 19 Oct 2010 18:04:19 +0000 (18:04 +0000)]
unittests: Use the correct defines and global variables when building on CMake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116834 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix VC2010 build.
Michael J. Spencer [Tue, 19 Oct 2010 18:04:06 +0000 (18:04 +0000)]
Fix VC2010 build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116833 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFactor out the call-once implementation into its own macro.
Owen Anderson [Tue, 19 Oct 2010 18:02:06 +0000 (18:02 +0000)]
Factor out the call-once implementation into its own macro.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116832 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange AliasAnalysis and its clients to use uint64_t instead of unsigned
Dan Gohman [Tue, 19 Oct 2010 18:00:02 +0000 (18:00 +0000)]
Change AliasAnalysis and its clients to use uint64_t instead of unsigned
for representing object sizes, for consistency with other parts of LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116831 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFixing r116753 r116756 r116777
Jason W Kim [Tue, 19 Oct 2010 17:39:10 +0000 (17:39 +0000)]
Fixing r116753 r116756 r116777
The failures in r116753 r116756 were caused by a python issue -
Python likes to append 'L' suffix to stringified numbers if the number
is larger than a machine int. Unfortunately, this causes a divergence of
behavior between 32 and 64 bit python versions.

I re-crafted elf-dump/common_dump to take care of these issues by:

1. always printing 0x (makes for easy sed/regex)
2. always print fixed length (exactly 2 + numBits/4 digits long)
   by mod ((2^numBits) - 1)
3. left-padded with '0'

There is a residual common routine that is also used by
macho-dump (dataToHex) , so I left the 'section_data' test values alone.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116823 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoGet rid of static constructors for pass registration. Instead, every pass exposes...
Owen Anderson [Tue, 19 Oct 2010 17:21:58 +0000 (17:21 +0000)]
Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
the pass's dependencies.

Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.

I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
registration/creation, please send the testcase to me directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8