Evan Cheng [Fri, 22 Oct 2010 18:23:05 +0000 (18:23 +0000)]
Add fastcc cc: pass and return VFP / NEON values in registers. Controlled by -arm-fastcc for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117119
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 17:57:37 +0000 (17:57 +0000)]
Add testscases for encoding of NEON vdqmull.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117115
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 17:42:06 +0000 (17:42 +0000)]
Parameterize a bit of ARM encoding information, simplifying some instruction
definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117114
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 22 Oct 2010 17:37:42 +0000 (17:37 +0000)]
Avoid stalled file dependency when tablegenning.
Patch by Frits van Bommel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117113
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 22 Oct 2010 17:35:07 +0000 (17:35 +0000)]
Make some symbols static, move classes into anonymous namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117111
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 22 Oct 2010 17:16:26 +0000 (17:16 +0000)]
Don't try to guess svn version when current path is a symlink.
See PR 8473.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117109
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 17:16:17 +0000 (17:16 +0000)]
More ARM multiply instruction encoding information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117108
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 22 Oct 2010 16:20:10 +0000 (16:20 +0000)]
Teach CMake to only touch tablegen-generated files if anything
actually changed.
Patch by Frits van Bommel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117102
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Fri, 22 Oct 2010 15:52:49 +0000 (15:52 +0000)]
Making the e_machine configurable by the target backend in ELFObjectWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117099
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 22 Oct 2010 14:53:59 +0000 (14:53 +0000)]
lli: On Cygwin-1.5, lli crashes at invoking destructors in atexit handler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117095
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Fri, 22 Oct 2010 12:54:34 +0000 (12:54 +0000)]
Standardise all build-mode affecting {EN,DIS}ABLE_* make options to
test equality to 1, and fix/update documentation to reflect this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117094
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 22 Oct 2010 09:40:37 +0000 (09:40 +0000)]
test/Makefile: Force lit -j1 on Cygwin.
lit -jN causes crash on Cygwin's python.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117093
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Fri, 22 Oct 2010 08:47:28 +0000 (08:47 +0000)]
Rename LLVM_IS_TARGET_BIG_ENDIAN to LLVM_IS_HOST_BIG_ENDIAN to reflect what it actually means.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117092
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 22 Oct 2010 03:58:29 +0000 (03:58 +0000)]
Reverting r117031 to cleanup valgrind errors.
It doesn't look like anything is wrong with the checkin,
but the new test cases expose a mem bug in AsmParser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117087
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 22 Oct 2010 01:28:00 +0000 (01:28 +0000)]
Add some basic ret instruction support to arm fast-isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117085
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Fri, 22 Oct 2010 01:24:11 +0000 (01:24 +0000)]
Fixed handling of immediate operand sizes, which
weren't properly reflecting the OperandSize attribute
of the instruction leading to improper decoding of
certain instructions with the 66H prefix. Also added
a test case for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117084
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 22 Oct 2010 01:23:50 +0000 (01:23 +0000)]
Win32/Signals.inc: DontRemoveFileOnSignal(): Please acquire the CriticalSection.
It choked BugPoint on Mingw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117083
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Oct 2010 22:52:30 +0000 (22:52 +0000)]
ARM binary encoding for some of the multiply instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117080
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Thu, 21 Oct 2010 22:43:32 +0000 (22:43 +0000)]
Test case for r117075. Radar
6635085.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117079
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 22:19:53 +0000 (22:19 +0000)]
Add tests for NEON encoding of vmull.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117077
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Oct 2010 22:19:32 +0000 (22:19 +0000)]
ARM binary encodings for MVN variants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117076
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 22:05:33 +0000 (22:05 +0000)]
Add tests for NEON encoding of vqdmulh and vqrdmulh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117074
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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