13 years agoFix the ocaml kaleidoscope tutorial to fix linking external libraries.
Erick Tryzelaar [Sun, 21 Mar 2010 23:15:13 +0000 (23:15 +0000)]
Fix the ocaml kaleidoscope tutorial to fix linking external libraries.

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

13 years agomodernize the do-all-for-me target to run lit
Gabor Greif [Sun, 21 Mar 2010 22:23:02 +0000 (22:23 +0000)]
modernize the do-all-for-me target to run lit

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

13 years agoRe-add the Metadata.h include to LLVMContextImpl.h so that MDNode is complete
Jeffrey Yasskin [Sun, 21 Mar 2010 22:08:41 +0000 (22:08 +0000)]
Re-add the Metadata.h include to LLVMContextImpl.h so that MDNode is complete
where FoldingSet<MDNode> is instantiated.  Clang and MSVC complain; gcc

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

13 years agoMove the LLVMContextImpl implementation into a .cpp file.
Jeffrey Yasskin [Sun, 21 Mar 2010 21:17:34 +0000 (21:17 +0000)]
Move the LLVMContextImpl implementation into a .cpp file.

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

13 years agoMemoize InlineAsms into the LLVMContext and delete them on shutdown.
Jeffrey Yasskin [Sun, 21 Mar 2010 20:37:19 +0000 (20:37 +0000)]
Memoize InlineAsms into the LLVMContext and delete them on shutdown.
Fixes PR803.

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

13 years agoXFAIL tests from LLVMC on valgrind or valgrind+leak-checking. We
Jeffrey Yasskin [Sun, 21 Mar 2010 08:12:46 +0000 (08:12 +0000)]
XFAIL tests from LLVMC on valgrind or valgrind+leak-checking.  We
don't care about leaks from tblgen, and I assume we don't care about
valgrind errors in llvm-gcc/g++.

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

13 years agoFree SavedLI even if SimpleRegisterCoalescing::JoinCopy() returns early.
Jeffrey Yasskin [Sun, 21 Mar 2010 01:47:49 +0000 (01:47 +0000)]
Free SavedLI even if SimpleRegisterCoalescing::JoinCopy() returns early.

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

13 years agoWhen we don't pass --vg-leak to lit, pass --leak-check=no to valgrind.
Jeffrey Yasskin [Sun, 21 Mar 2010 01:47:33 +0000 (01:47 +0000)]
When we don't pass --vg-leak to lit, pass --leak-check=no to valgrind.

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

13 years agoFix suggested parentheses warning.
Daniel Dunbar [Sun, 21 Mar 2010 01:38:21 +0000 (01:38 +0000)]
Fix suggested parentheses warning.

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

13 years agoAdd support for XFAILing valgrind runs with memory leak checking independently
Jeffrey Yasskin [Sat, 20 Mar 2010 23:08:45 +0000 (23:08 +0000)]
Add support for XFAILing valgrind runs with memory leak checking independently
of runs without leak checking.  We add -vg to the triple for non-checked runs,
or -vg_leak for checked runs.  Also use this to XFAIL the TableGen tests, since
tablegen leaks like a sieve.  This includes some valgrindArgs refactoring.

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

13 years agoMC/X86: Fix an MCOperand link, when we parsing shrld $1,%eax and friends; I believe...
Daniel Dunbar [Sat, 20 Mar 2010 22:36:38 +0000 (22:36 +0000)]
MC/X86: Fix an MCOperand link, when we parsing shrld $1,%eax and friends; I believe this fixes the last memory leaks under test/MC.

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

13 years agollvm-mc: Fix MCInstPrinter memory leaks.
Daniel Dunbar [Sat, 20 Mar 2010 22:36:35 +0000 (22:36 +0000)]
llvm-mc: Fix MCInstPrinter memory leaks.

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

13 years agoMC/Mach-O: Remove Darwin host specific tests, we don't need them anymore.
Daniel Dunbar [Sat, 20 Mar 2010 22:36:32 +0000 (22:36 +0000)]
MC/Mach-O: Remove Darwin host specific tests, we don't need them anymore.

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

13 years agoMC/Mach-O: Tweak optimal_nop test to be host independent.
Daniel Dunbar [Sat, 20 Mar 2010 22:36:29 +0000 (22:36 +0000)]
MC/Mach-O: Tweak optimal_nop test to be host independent.
 - This also avoids us running valgrind on /usr/bin/as, which has leaks. :)

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

13 years agollvm-mc: Fix memory leak of MCAsmInfo.
Daniel Dunbar [Sat, 20 Mar 2010 22:36:25 +0000 (22:36 +0000)]
llvm-mc: Fix memory leak of MCAsmInfo.

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

13 years agoTargetRegistry: Fix create{AsmInfo,MCDisassembler} to return non-const objects.
Daniel Dunbar [Sat, 20 Mar 2010 22:36:22 +0000 (22:36 +0000)]
TargetRegistry: Fix create{AsmInfo,MCDisassembler} to return non-const objects.

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

13 years agopr6652: Use LDM to restore PC to the return address on ARMv4.
Bob Wilson [Sat, 20 Mar 2010 22:20:40 +0000 (22:20 +0000)]
pr6652: Use LDM to restore PC to the return address on ARMv4.
Patch by John Tytgat!

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

13 years agoRe-commit r98683 ("remove redundant writeback flag from ARM address mode 6")
Bob Wilson [Sat, 20 Mar 2010 22:13:40 +0000 (22:13 +0000)]
Re-commit r98683 ("remove redundant writeback flag from ARM address mode 6")
with changes to add a separate optional register update argument.  Change all
the NEON instructions with address register writeback to use it.

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

13 years agoAdd instruction variants for VST2, VST3, and VST4 "store-lane" operations with
Bob Wilson [Sat, 20 Mar 2010 21:57:36 +0000 (21:57 +0000)]
Add instruction variants for VST2, VST3, and VST4 "store-lane" operations with
address register writeback.

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

13 years agoAdd variants of VST2, VST3 and VST4 with address register writeback, and
Bob Wilson [Sat, 20 Mar 2010 21:45:18 +0000 (21:45 +0000)]
Add variants of VST2, VST3 and VST4 with address register writeback, and
rewrite the existing VST3 and VST4 instructions to use the same classes as
the others.

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

13 years agoAdd instructions for double-spaced VST3 and VST4 without address register
Bob Wilson [Sat, 20 Mar 2010 21:15:48 +0000 (21:15 +0000)]
Add instructions for double-spaced VST3 and VST4 without address register
writeback, and refactor the existing double-spaced VST2 instructions.
These are only for the disassembler since codegen doesn't use them, at
least for now.

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

13 years agotests: Mangle '-vg' onto the end of the triple when running under valgrind, so
Daniel Dunbar [Sat, 20 Mar 2010 21:12:48 +0000 (21:12 +0000)]
tests: Mangle '-vg' onto the end of the triple when running under valgrind, so
we can use the standard XFAIL and XTARGET to conditional tests based on

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

13 years agoAdd a setCalledFunction member to InvokeInst (like in CallInst)
Gabor Greif [Sat, 20 Mar 2010 21:00:25 +0000 (21:00 +0000)]
Add a setCalledFunction member to InvokeInst (like in CallInst)
and use this (as well as getCalledValue) to access the callee,
instead of {g|s}etOperand(0).

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

13 years agoAdd VST1 instructions with address register writeback.
Bob Wilson [Sat, 20 Mar 2010 20:54:36 +0000 (20:54 +0000)]
Add VST1 instructions with address register writeback.

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

13 years agoAdd instruction variants for VLD2, VLD3, and VLD4 "load-lane" operations with
Bob Wilson [Sat, 20 Mar 2010 20:47:18 +0000 (20:47 +0000)]
Add instruction variants for VLD2, VLD3, and VLD4 "load-lane" operations with
address register writeback.

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

13 years agoTidy some more comments and whitespace.
Bob Wilson [Sat, 20 Mar 2010 20:39:53 +0000 (20:39 +0000)]
Tidy some more comments and whitespace.

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

13 years agoAdd variants of VLD2, VLD3 and VLD4 with address register writeback, and
Bob Wilson [Sat, 20 Mar 2010 20:10:51 +0000 (20:10 +0000)]
Add variants of VLD2, VLD3 and VLD4 with address register writeback, and
rewrite the existing VLD3 and VLD4 instructions to use the same classes as
the others.

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

13 years agoTidy some comments and whitespace for consistency.
Bob Wilson [Sat, 20 Mar 2010 19:57:03 +0000 (19:57 +0000)]
Tidy some comments and whitespace for consistency.

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

13 years agoRename some instructions for consistency and sanity: use "_UPD" suffix for
Bob Wilson [Sat, 20 Mar 2010 18:35:24 +0000 (18:35 +0000)]
Rename some instructions for consistency and sanity: use "_UPD" suffix for
load/stores with address register writeback, and use "odd" suffix to distinguish
instructions to access odd numbered registers (instead of "a" and "b").
No functional changes.

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

13 years agoAdd instructions for double-spaced VLD3 and VLD4 without address register
Bob Wilson [Sat, 20 Mar 2010 18:14:26 +0000 (18:14 +0000)]
Add instructions for double-spaced VLD3 and VLD4 without address register
writeback, and refactor the existing double-spaced VLD2 instructions.
These are only for the disassembler since codegen doesn't use them, at
least for now.

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

13 years agoAdd VLD1 instructions with address register writeback.
Bob Wilson [Sat, 20 Mar 2010 17:59:03 +0000 (17:59 +0000)]
Add VLD1 instructions with address register writeback.

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

13 years agoPIC16: Simplify code by using a std::set<std::string> instead of a sorted & uniqued...
Benjamin Kramer [Sat, 20 Mar 2010 17:41:18 +0000 (17:41 +0000)]
PIC16: Simplify code by using a std::set<std::string> instead of a sorted & uniqued std::list of leaked char*.

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

13 years agoRevert the rest of 98679.
Bob Wilson [Sat, 20 Mar 2010 06:34:02 +0000 (06:34 +0000)]
Revert the rest of 98679.
--- Reverse-merging r98679 into 'lib/Target/ARM/ARMInstrVFP.td':
U    lib/Target/ARM/ARMInstrVFP.td

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

13 years agoFix a very bad typo. Since the register number was off by one, the ARM
Bob Wilson [Sat, 20 Mar 2010 06:05:13 +0000 (06:05 +0000)]
Fix a very bad typo.  Since the register number was off by one, the ARM
load/store optimizer would incorrectly think that registers D26 and D28
were consecutive and would generate a VLDM instruction to load them.
The assembler was not convinced.

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

13 years agoClear the SCEVExpander's insertion point after making deletions,
Dan Gohman [Sat, 20 Mar 2010 03:53:53 +0000 (03:53 +0000)]
Clear the SCEVExpander's insertion point after making deletions,
so that the SCEVExpander doesn't retain a dangling pointer as its
insert position. The dangling pointer in this case wasn't ever used
to insert new instructions, but it was causing trouble with
SCEVExpander's code for automatically advancing its insert position
past debug intrinsics.

This fixes use-after-free errors that valgrind noticed in
test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and

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

13 years agoStupid svn. Add back to the lost sibcall tests.
Evan Cheng [Sat, 20 Mar 2010 03:17:05 +0000 (03:17 +0000)]
Stupid svn. Add back to the lost sibcall tests.

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

13 years agoIf call result is in ST0 and it is not being passed to the caller's
Evan Cheng [Sat, 20 Mar 2010 02:58:15 +0000 (02:58 +0000)]
If call result is in ST0 and it is not being passed to the caller's
caller, then it is not safe to optimize the call into a sibcall since
the call result has to be popped off the x87 stack.

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

13 years agoBetter fix for r98994, MachObjectWriterImpl wasn't intended to be virtual.
Daniel Dunbar [Sat, 20 Mar 2010 01:58:40 +0000 (01:58 +0000)]
Better fix for r98994, MachObjectWriterImpl wasn't intended to be virtual.

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

13 years agoAdd NLdStFrm Format.
Johnny Chen [Sat, 20 Mar 2010 00:17:00 +0000 (00:17 +0000)]
Add NLdStFrm Format.

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

13 years agoRevert r98679. The disassembler will be updated to depend on the existence of
Johnny Chen [Fri, 19 Mar 2010 23:50:27 +0000 (23:50 +0000)]
Revert r98679.  The disassembler will be updated to depend on the existence of
IndexModeUpd and then populates the Inst{21}=1 while populating the instructions
for disassembly.

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

13 years agoRevert r99009 temporarily it seems to be breaking the bots.
Eric Christopher [Fri, 19 Mar 2010 23:04:23 +0000 (23:04 +0000)]
Revert r99009 temporarily it seems to be breaking the bots.

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

13 years agoRevert this change, since it was causing ARM performance regressions.
Bob Wilson [Fri, 19 Mar 2010 22:51:32 +0000 (22:51 +0000)]
Revert this change, since it was causing ARM performance regressions.

--- Reverse-merging r98889 into '.':
U    lib/Target/ARM/ARMInstrNEON.td
U    lib/Target/ARM/ARMISelLowering.h
U    lib/Target/ARM/ARMInstrInfo.td
U    lib/Target/ARM/ARMInstrVFP.td
U    lib/Target/ARM/ARMISelLowering.cpp
U    lib/Target/ARM/ARMInstrFormats.td

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

13 years agoChange intrinsic result type for void to store it as an empty list
Chris Lattner [Fri, 19 Mar 2010 22:40:56 +0000 (22:40 +0000)]
Change intrinsic result type for void to store it as an empty list
instead of as a single element list with VoidTy.

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

13 years agomake getOperandNum a static function (since it's just used by
Chris Lattner [Fri, 19 Mar 2010 21:56:21 +0000 (21:56 +0000)]
make getOperandNum a static function (since it's just used by
ApplyTypeConstraint) and make it handle multiple result nodes.

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

13 years agoFix more places to more thoroughly ignore debug intrinsics. This fixes
Dan Gohman [Fri, 19 Mar 2010 21:51:03 +0000 (21:51 +0000)]
Fix more places to more thoroughly ignore debug intrinsics. This fixes
use-before-def errors in SCEVExpander-produced code in sqlite3 when debug
info with optimization is enabled, though the testcases for this are
dependent on use-list order.

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

13 years agoremove the patterns that I commented out in r98930, Dan verified
Chris Lattner [Fri, 19 Mar 2010 21:43:36 +0000 (21:43 +0000)]
remove the patterns that I commented out in r98930, Dan verified
that they are dead.

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

13 years agomajor surgery on tblgen: generalize TreePatternNode
Chris Lattner [Fri, 19 Mar 2010 21:37:09 +0000 (21:37 +0000)]
major surgery on tblgen: generalize TreePatternNode
to maintain a list of types (one for each result of
the node) instead of a single type.  There are liberal
hacks added to emulate the old behavior in various
situations, but they can start disolving now.

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

13 years agoForce configuration of some projects before others. In particular, some
John Criswell [Fri, 19 Mar 2010 21:31:39 +0000 (21:31 +0000)]
Force configuration of some projects before others.  In particular, some
projects rely upon llvm-gcc, the LLVM test suite, and poolalloc.  This ensures
that the aforementioned projects have their object trees created first so that
other projects can find their object trees when they themselves are configured.

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

13 years agoFix -Wnon-virtual-dtor warning.
Rafael Espindola [Fri, 19 Mar 2010 21:26:46 +0000 (21:26 +0000)]
Fix -Wnon-virtual-dtor warning.

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

13 years agoRegenerate configure.
Tanya Lattner [Fri, 19 Mar 2010 21:22:13 +0000 (21:22 +0000)]
Regenerate configure.

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

13 years agoBump version number.
Tanya Lattner [Fri, 19 Mar 2010 21:19:10 +0000 (21:19 +0000)]
Bump version number.

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

13 years agoTest commit (removed extra blank line)
Ben Holt [Fri, 19 Mar 2010 21:12:29 +0000 (21:12 +0000)]
Test commit (removed extra blank line)

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

13 years agocall void @llvm.dbg.declare(metadata !{i32* null}, metadata !1)
Devang Patel [Fri, 19 Mar 2010 21:06:24 +0000 (21:06 +0000)]
call void @llvm.dbg.declare(metadata !{i32* null}, metadata !1)
is valid, but not useful, when variable  identified by !1 is optimized away by the optimizer.

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

13 years agoUpdated copyright year to 2010.
John Criswell [Fri, 19 Mar 2010 21:04:16 +0000 (21:04 +0000)]
Updated copyright year to 2010.

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

13 years agoFixed the encoding problems of the crc32 instructions. All had the Operand size
Kevin Enderby [Fri, 19 Mar 2010 20:04:42 +0000 (20:04 +0000)]
Fixed the encoding problems of the crc32 instructions. All had the Operand size
override prefix and only the r/m16 forms should have had that.  Also for variant
one, the AT&T syntax, added suffixes to all forms.  Also added the missing
64-bit form for 'CRC32 r64, r/m8'.  Plus added test cases for all forms and
tweaked one test case to add the needed suffixes.

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

13 years agoStop trying to merge identical jump tables. This had been inadvertently
Bob Wilson [Fri, 19 Mar 2010 19:05:41 +0000 (19:05 +0000)]
Stop trying to merge identical jump tables.  This had been inadvertently
disabled for several months (since svn r88806) and no one noticed.  My fix
for pr6543 yesterday reenabled it, but broke the ARM port's code for using
TBB/TBH.  Rather than adding a target hook to disable merging for Thumb2 only,
I'm just taking this out.  It is not common to have identical jump tables,
the code we used to merge them was O(N^2), and it only helps code size, not

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

13 years agoMC/Mach-O/x86_64: Add relocation support.
Daniel Dunbar [Fri, 19 Mar 2010 18:07:55 +0000 (18:07 +0000)]
MC/Mach-O/x86_64: Add relocation support.
 - This is "extraordinarily" Darwin 'as' compatible. See the litany of FIXMEs littered about for more information.
 - There are a few cases which seem to clearly be 'as' bugs which I have left unsupported, and there is one cases where we diverge but should fix if it blocks diffing .o files (Darwin 'as' ends up widening a jump unnecessarily).
 - 403.gcc build, runs, and diffs equivalently to the 'as' built version now (using llvm-mc). However, it builds so slowly that I wouldn't recommend trying it quite yet. :)

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

13 years agollvm-mc: Fix target selection for --disassemble to use GetTarget.
Daniel Dunbar [Fri, 19 Mar 2010 18:07:50 +0000 (18:07 +0000)]
llvm-mc: Fix target selection for --disassemble to use GetTarget.

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

13 years agoMC/X86: Rename alternate spellings of {ADD64,CMP64} and mark as "code gen only" so...
Daniel Dunbar [Fri, 19 Mar 2010 18:07:48 +0000 (18:07 +0000)]
MC/X86: Rename alternate spellings of {ADD64,CMP64} and mark as "code gen only" so they don't get selected by the asm matcher.

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

13 years agoFileCheck: Don't print "possibly intended match" line if it would match the
Daniel Dunbar [Fri, 19 Mar 2010 18:07:43 +0000 (18:07 +0000)]
FileCheck: Don't print "possibly intended match" line if it would match the
"scanning from here" one.

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

13 years agoSet numThreads to 1 by default when Python is older than 2.5.2.
Torok Edwin [Fri, 19 Mar 2010 17:54:21 +0000 (17:54 +0000)]
Set numThreads to 1 by default when Python is older than 2.5.2.

Python 2.4 always hits this bug: http://bugs.python.org/issue1731717
when running check-lit on multi-core systems.
Setting numThreads to 1 makes it slower, but at least the results reported are

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

13 years agomake FillWithPossibleTypes take a predicate to filter types so that
Chris Lattner [Fri, 19 Mar 2010 17:41:26 +0000 (17:41 +0000)]
make FillWithPossibleTypes take a predicate to filter types so that
we don't blow the smallvector as often.  No functionality change.

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

13 years agoRenumber LdStExFrm from 28 to 11 and shift the existing format values to make
Johnny Chen [Fri, 19 Mar 2010 17:39:00 +0000 (17:39 +0000)]
Renumber LdStExFrm from 28 to 11 and shift the existing format values to make
room for it.  This is in preparation for another patch which is adding NEON
subformats to facilitate disassembly.

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

13 years agoAcccess control is lame
Douglas Gregor [Fri, 19 Mar 2010 15:36:58 +0000 (15:36 +0000)]
Acccess control is lame

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

13 years agostruct -> class, to silence a Clang warning
Douglas Gregor [Fri, 19 Mar 2010 15:31:09 +0000 (15:31 +0000)]
struct -> class, to silence a Clang warning

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

13 years agoback out r98957, it broke http://smooshlab.apple.com:8010/builders/clang-x86_64-darwi...
Gabor Greif [Fri, 19 Mar 2010 13:50:02 +0000 (13:50 +0000)]
back out r98957, it broke smooshlab.apple.com:8010/builders/clang-x86_64-darwin10-fnt/builds/703 in the nightly test suite

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

13 years agoRecommit r80858 again (which has been backed out in r80871).
Gabor Greif [Fri, 19 Mar 2010 11:55:53 +0000 (11:55 +0000)]
Recommit r80858 again (which has been backed out in r80871).

This time I did a self-hosted bootstrap on Linux x86-64,
with no problems. Let's see how darwin 64-bit self-hosting
goes. At the first sign of failure I'll back this out.

Maybe the valgrind bots give me a hint of what may be wrong
(it at all).

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

13 years agoMC: Add TargetAsmBackend::createObjectWriter.
Daniel Dunbar [Fri, 19 Mar 2010 10:43:26 +0000 (10:43 +0000)]
MC: Add TargetAsmBackend::createObjectWriter.
 - MCAssembler is now object-file independent, although we will surely need more work to fully support ELF/COFF.

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

13 years agoMCCodeEmitter: Add target independent fixup flag for is-pc-relative.
Daniel Dunbar [Fri, 19 Mar 2010 10:43:23 +0000 (10:43 +0000)]
MCCodeEmitter: Add target independent fixup flag for is-pc-relative.

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

13 years agoMC: Sink code emitter into MCAssembler.
Daniel Dunbar [Fri, 19 Mar 2010 10:43:18 +0000 (10:43 +0000)]
MC: Sink code emitter into MCAssembler.

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

13 years agoMC/Mach-O: Move to MachObjectWriter.{h,cpp}.
Daniel Dunbar [Fri, 19 Mar 2010 10:43:15 +0000 (10:43 +0000)]
MC/Mach-O: Move to MachObjectWriter.{h,cpp}.

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

13 years agoMC: Add TargetAsmBackend::isVirtualSection hook.
Daniel Dunbar [Fri, 19 Mar 2010 09:29:03 +0000 (09:29 +0000)]
MC: Add TargetAsmBackend::isVirtualSection hook.

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

13 years agoMC: Split MCObjectWriter out of MCAssembler.cpp.
Daniel Dunbar [Fri, 19 Mar 2010 09:28:59 +0000 (09:28 +0000)]
MC: Split MCObjectWriter out of MCAssembler.cpp.

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

13 years agoMCAssembler: Pull out MCObjectWriter class.
Daniel Dunbar [Fri, 19 Mar 2010 09:28:55 +0000 (09:28 +0000)]
MCAssembler: Pull out MCObjectWriter class.

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

13 years agoMCAssembler: Move ApplyFixup to the TargetAsmBackend, this is a target specific not...
Daniel Dunbar [Fri, 19 Mar 2010 09:28:12 +0000 (09:28 +0000)]
MCAssembler: Move ApplyFixup to the TargetAsmBackend, this is a target specific not object writer specific task.

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

13 years agoMC/Mach-O: Lift the fixup evaluation and application up (to the same place), and...
Daniel Dunbar [Fri, 19 Mar 2010 07:09:47 +0000 (07:09 +0000)]
MC/Mach-O: Lift the fixup evaluation and application up (to the same place), and eliminate MCAsmFixup::FixedValue.

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

13 years agoMC/Mach-O: Factor out ExecutePostLayoutBinding, to separate the post-layout changes...
Daniel Dunbar [Fri, 19 Mar 2010 07:09:33 +0000 (07:09 +0000)]
MC/Mach-O: Factor out ExecutePostLayoutBinding, to separate the post-layout changes the object writer may need to make to the assembler from the actual .o writing.

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

13 years agoMC/Mach-O: Lift relocation emission logic a bit higher to separate evaluation / reloc...
Daniel Dunbar [Fri, 19 Mar 2010 07:09:18 +0000 (07:09 +0000)]
MC/Mach-O: Lift relocation emission logic a bit higher to separate evaluation / relocation handling from the actual .o writing.

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

13 years agoRemove a memory leak from the CBackend.
Jeffrey Yasskin [Fri, 19 Mar 2010 07:06:46 +0000 (07:06 +0000)]
Remove a memory leak from the CBackend.

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

13 years agofix an MCInstPrinter leak that jyasskin pointed out:
Chris Lattner [Fri, 19 Mar 2010 05:48:53 +0000 (05:48 +0000)]
fix an MCInstPrinter leak that jyasskin pointed out:
createAsmStreamer now takes ownership of the instprinter.

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

13 years agoresolve fixme: we now infer the instruction-level 'isvariadic' bit
Chris Lattner [Fri, 19 Mar 2010 05:34:15 +0000 (05:34 +0000)]
resolve fixme: we now infer the instruction-level 'isvariadic' bit
from the pattern if present, and we use it instead of the bit.

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

13 years agoset SDNPVariadic on nodes throughout the rest of the targets that
Chris Lattner [Fri, 19 Mar 2010 05:33:51 +0000 (05:33 +0000)]
set SDNPVariadic on nodes throughout the rest of the targets that
need them.

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

13 years agoRemove a memory leak from ThumbTargetMachine.
Jeffrey Yasskin [Fri, 19 Mar 2010 05:25:28 +0000 (05:25 +0000)]
Remove a memory leak from ThumbTargetMachine.

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

13 years agoadd a new SDNPVariadic SDNP node flag, and use it in
Chris Lattner [Fri, 19 Mar 2010 05:07:09 +0000 (05:07 +0000)]
add a new SDNPVariadic SDNP node flag, and use it in
dag isel gen instead of instruction properties.  This
allows the oh-so-useful behavior of matching a variadic
non-root node.

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

13 years agorewrite EnforceSmallerThan to be less bone headed.
Chris Lattner [Fri, 19 Mar 2010 04:54:36 +0000 (04:54 +0000)]
rewrite EnforceSmallerThan to be less bone headed.

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

13 years agoremove some damaged sign extend patterns that can never match.
Chris Lattner [Fri, 19 Mar 2010 04:53:47 +0000 (04:53 +0000)]
remove some damaged sign extend patterns that can never match.

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

13 years agodisable some illegal blackfin patterns. sext from i32 to i32 can never
Chris Lattner [Fri, 19 Mar 2010 04:53:21 +0000 (04:53 +0000)]
disable some illegal blackfin patterns.  sext from i32 to i32 can never
match.  Jakob, please take a look when you get a chance.

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

13 years agocomment out a bunch of parallel store patterns that apparently
Chris Lattner [Fri, 19 Mar 2010 04:14:21 +0000 (04:14 +0000)]
comment out a bunch of parallel store patterns that apparently
can't match or just have no testcases.  Will remove after
confirmation from dan that they really are dead.

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

13 years agoFix -Asserts warnings.
Daniel Dunbar [Fri, 19 Mar 2010 03:18:23 +0000 (03:18 +0000)]
Fix -Asserts warnings.

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

13 years agoFix -Asserts warning.
Daniel Dunbar [Fri, 19 Mar 2010 03:18:20 +0000 (03:18 +0000)]
Fix -Asserts warning.

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

13 years agoMC/Mach-O: Add isScatteredFixupFullyResolved, which implements the correct algorithm...
Daniel Dunbar [Fri, 19 Mar 2010 03:18:18 +0000 (03:18 +0000)]
MC/Mach-O: Add isScatteredFixupFullyResolved, which implements the correct algorithm (used on x86_64) for determining whether an evaluated fixup is fully resolved (doesn't need relocation).
 - Test cases will follow, once we have x86_64 relocation support.

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

13 years agoMC/Mach-O/x86_64: Add getAtom[ForAddress].
Daniel Dunbar [Fri, 19 Mar 2010 03:18:15 +0000 (03:18 +0000)]
MC/Mach-O/x86_64: Add getAtom[ForAddress].
 - These find the defining symbol which identifies the containing atom for a symbol or address. They are currently very slow, but will be eliminated eventually.

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

13 years agoMC/Mach-O: Factor out isScatteredFixupFullyResolvedSimple predicate, and fix some...
Daniel Dunbar [Fri, 19 Mar 2010 03:18:12 +0000 (03:18 +0000)]
MC/Mach-O: Factor out isScatteredFixupFullyResolvedSimple predicate, and fix some corner cases.

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

13 years agoMC/Mach-O: Factor out isSymbolLinkerVisible method; "linker visible" is a made up...
Daniel Dunbar [Fri, 19 Mar 2010 03:18:09 +0000 (03:18 +0000)]
MC/Mach-O: Factor out isSymbolLinkerVisible method; "linker visible" is a made up term to refer to non-temporary labels + temporary labels in sections-which-require symbols. For Darwin, it corresponds to symbols which effectively define an atom.

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

13 years agoDrop KLEE blurb, we don't have anything new.
Daniel Dunbar [Fri, 19 Mar 2010 03:18:05 +0000 (03:18 +0000)]
Drop KLEE blurb, we don't have anything new.

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

13 years agoFixed a widening bug where we were not using the correct size for the load
Mon P Wang [Fri, 19 Mar 2010 01:19:52 +0000 (01:19 +0000)]
Fixed a widening bug where we were not using the correct size for the load

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

13 years agoX86: Fix encoding for TEST64rr.
Daniel Dunbar [Fri, 19 Mar 2010 01:15:03 +0000 (01:15 +0000)]
X86: Fix encoding for TEST64rr.

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

13 years agoeliminate the last use of EEVT::isUnknown
Chris Lattner [Fri, 19 Mar 2010 01:14:27 +0000 (01:14 +0000)]
eliminate the last use of EEVT::isUnknown

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

13 years agoRemove `ignore` from LLVMC/TestWarnings.td. This avoids
Jeffrey Yasskin [Fri, 19 Mar 2010 01:10:41 +0000 (01:10 +0000)]
Remove `ignore` from LLVMC/TestWarnings.td.  This avoids
https://bugs.kde.org/show_bug.cgi?id=231257 and seems not to have been
needed in the first place.

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

13 years agoFinally change the instruction looking map to be a densemap from
Chris Lattner [Fri, 19 Mar 2010 01:07:44 +0000 (01:07 +0000)]
Finally change the instruction looking map to be a densemap from
record* -> instrinfo instead of std::string -> instrinfo.

This speeds up tblgen on cellcpu from 7.28 -> 5.98s with a debug
build (20%).

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