Daniel Dunbar [Tue, 11 Aug 2009 20:47:15 +0000 (20:47 +0000)]
StringRef: Add find(char) and find(StringRef).
Also, regroup functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 20:42:37 +0000 (20:42 +0000)]
pass the TargetTriple down from each target ctor to the
LLVMTargetMachine ctor. It is currently unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 20:32:51 +0000 (20:32 +0000)]
now that JumpTableDirective can differentate picness itself, MIPS TAI
no longer needs a targetmachine to initialize itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 20:30:58 +0000 (20:30 +0000)]
split "JumpTableDirective" (an existing hack) into a PIC and nonPIC
version. This allows TAI implementations to specify the directive to use
based on the mode being codegen'd for.
The real fix for this is to remove JumpTableDirective, but I don't feel
like diving into the jumptable snarl just now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 20:29:57 +0000 (20:29 +0000)]
"TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78708
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 20:20:39 +0000 (20:20 +0000)]
Add convenience functions for creating nsw add operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78707
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 20:10:07 +0000 (20:10 +0000)]
llvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes are
related.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78706
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 19:59:21 +0000 (19:59 +0000)]
Use wchar.h to get wchar_t, not ctype.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78703
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 19:56:00 +0000 (19:56 +0000)]
Don't set the isexact flag if an sdiv operator has been folded into
something else.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78702
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 11 Aug 2009 19:42:21 +0000 (19:42 +0000)]
Add Thumb2 eh_sjlj_setjmp implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78701
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 18:28:09 +0000 (18:28 +0000)]
Simplify ConstantExpr::getInBoundsGetElementPtr and fix a possible crash, if
constant folding eliminated the GEP instruction.
- clang was hitting this on its test suite (for x86_64, at least).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78698
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 18:11:15 +0000 (18:11 +0000)]
Revert 78680 until I figure out why it completely broke things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78697
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 11 Aug 2009 18:01:24 +0000 (18:01 +0000)]
Link NamedMDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78696
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 17:57:01 +0000 (17:57 +0000)]
Add convenience functions for creating inbounds GEPs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78695
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 11 Aug 2009 17:56:42 +0000 (17:56 +0000)]
Use DEBUG macro for debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78694
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 17:49:14 +0000 (17:49 +0000)]
add a trivial line # cache to SourceMgr to make repeated queries to
FindLineNumber much faster when in sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78693
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 17:47:52 +0000 (17:47 +0000)]
llvm-mc: Fix a crash on invalid due to a typo in relocatable expression
evaluation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78692
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 17:45:13 +0000 (17:45 +0000)]
Make LLVMContext and LLVMContextImpl classes instead of structs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78690
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 17:38:47 +0000 (17:38 +0000)]
Remove some unnecessary LoadInst constructors, missed during Twinification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78689
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 17:38:15 +0000 (17:38 +0000)]
make owen happy by being explicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78688
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 11 Aug 2009 17:35:23 +0000 (17:35 +0000)]
Add some debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78687
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 17:27:20 +0000 (17:27 +0000)]
Fix struct/class mismatch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78686
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 17:20:16 +0000 (17:20 +0000)]
Use isa instead of dyn_cast when the result is only converted to bool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78685
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 11 Aug 2009 17:15:47 +0000 (17:15 +0000)]
Fix cut-n-pasto in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78684
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 11 Aug 2009 17:08:15 +0000 (17:08 +0000)]
fix GetInstSizeInBytes for eh_sjlj_setjmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78683
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 17:05:24 +0000 (17:05 +0000)]
Add convenience functions for creating exact sdiv operators, and
use them in CreatePtrDiff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78682
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 17:03:18 +0000 (17:03 +0000)]
Avoid implicitly depending on Instructions.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78681
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 16:58:39 +0000 (16:58 +0000)]
move some 32-bit instrs to x86instrinfo.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78680
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 16:41:22 +0000 (16:41 +0000)]
Revert 78662 to fix broken windows build. Add a comment which explains the problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78679
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 16:03:08 +0000 (16:03 +0000)]
This void is implicit in C++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78678
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 16:02:12 +0000 (16:02 +0000)]
Tidy #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78677
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:59:48 +0000 (15:59 +0000)]
Simplify this code. The case where one class is GR64RegClass and the
other is a subclass of it is effectively handled by the prior tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78676
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:57:42 +0000 (15:57 +0000)]
Add an explicit keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78675
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:56:12 +0000 (15:56 +0000)]
ConstantFolder and NoFolder no longer require their Context members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 15:54:17 +0000 (15:54 +0000)]
now that these are in file-check format, we can merge them together
into one bigger test (which runs faster)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78672
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:53:15 +0000 (15:53 +0000)]
Fix a typo in an assertion string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78671
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:52:30 +0000 (15:52 +0000)]
Use the default copy-ctor, copy-assignment, and destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78670
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:50:56 +0000 (15:50 +0000)]
Add a comment about the additional meaning of setPreservesCFG() for
MachineFunctionPass passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78669
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:50:03 +0000 (15:50 +0000)]
Don't assume that external global variables are aligned at their preferred
alignment. Only the minimum alignment guaranteed by the ABI may be assumed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78668
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:35:57 +0000 (15:35 +0000)]
Remove unnecessary throw() specifications; LLVM doesn't use exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78667
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 11 Aug 2009 15:33:49 +0000 (15:33 +0000)]
Whitespace cleanup. Remove trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78666
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 11 Aug 2009 15:26:27 +0000 (15:26 +0000)]
Move ~ARMConstantPoolValue() to the .cpp file to avoid needing to include <cstdlib> in the header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78665
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:15:10 +0000 (15:15 +0000)]
Remove unnecessary casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78664
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:13:43 +0000 (15:13 +0000)]
Add const qualifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78663
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 15:03:52 +0000 (15:03 +0000)]
Remove an unnecessary mutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78662
91177308-0d34-0410-b5e6-
96231b3b80d8
Shantonu Sen [Tue, 11 Aug 2009 13:39:52 +0000 (13:39 +0000)]
Regenerate per request of Gabor Greif (r78628)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78661
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 11:01:19 +0000 (11:01 +0000)]
Silence MSVC warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78660
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 11 Aug 2009 09:37:40 +0000 (09:37 +0000)]
Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78659
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 11 Aug 2009 08:52:18 +0000 (08:52 +0000)]
Fix Thumb2 load / store addressing mode matching code. Do not use so_reg form to
match base only address, i.e. [r] since Thumb2 requires a offset register field.
For those, use [r + imm12] where the immediate is zero.
Note the generated assembly code does not look any different after the patch.
But the bug would have broken the JIT (if there is Thumb2 support) and it can
break later passes which expect the address mode to be well-formed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78658
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 11 Aug 2009 08:47:46 +0000 (08:47 +0000)]
80 column violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78657
91177308-0d34-0410-b5e6-
96231b3b80d8
Erick Tryzelaar [Tue, 11 Aug 2009 07:46:16 +0000 (07:46 +0000)]
Change llvm-c's ordering of contexts to make it consistent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78656
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 11 Aug 2009 07:36:14 +0000 (07:36 +0000)]
Cosmetic changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78655
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 11 Aug 2009 07:32:58 +0000 (07:32 +0000)]
Adding a blank line back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78654
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 11 Aug 2009 06:46:31 +0000 (06:46 +0000)]
Link metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78652
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 11 Aug 2009 06:31:57 +0000 (06:31 +0000)]
Remove dead metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78651
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 11 Aug 2009 06:25:12 +0000 (06:25 +0000)]
Rebuild RegScavenger::DistanceMap each time it is needed.
The register scavenger maintains a DistanceMap that maps MI pointers to their
distance from the top of the current MBB. The DistanceMap is built
incrementally in forward() and in bulk in findFirstUse(). It is used by
scavengeRegister() to determine which candidate register has the longest
unused interval.
Unfortunately the DistanceMap contents can become outdated. The first time
scavengeRegister() is called, the DistanceMap is filled to cover the MBB. If
then instructions are inserted in the MBB (as they always are following
scavengeRegister()), the recorded distances are too short. This causes bad
behaviour in the included test case where a register use /after/ the current
position is ignored because findFirstUse() thinks is is /before/ the current
position. A "using an undefined register" assertion follows promptly.
The fix is to build a fresh DistanceMap at the top of scavengeRegister(), and
discard it after use. This means that DistanceMap is no longer needed as a
RegScavenger member variable, and forward() doesn't need to update it.
The fix then discloses issue number two in the same test case: The candidate
search in scavengeRegister() finds a CSR that has been saved in the prologue,
but is currently unused. It would be both inefficient and wrong to spill such
a register in the emergency spill slot. In the present case, the emergency
slot restore is placed immediately before the normal epilogue restore, leading
to a "Redefining a live register" assertion.
Fix number two: When scavengerRegister() stumbles upon an unused register that
is overwritten later in the MBB, return that register early. It is important
to verify that the register is defined later in the MBB, otherwise it might be
an unspilled CSR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78650
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 06:22:47 +0000 (06:22 +0000)]
Fix a -Asserts warning.
- Since the function is never called in NDEBUG mode, just dropped the DEBUG()
uses here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78649
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 11 Aug 2009 05:51:19 +0000 (05:51 +0000)]
Convert more Neon tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78648
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 11 Aug 2009 05:39:44 +0000 (05:39 +0000)]
Use vAny type to get rid of Neon intrinsics that differed only in whether
the overloaded vector types allowed floating-point or integer vector elements.
Most of these operations actually depend on the element type, so bitcasting
was not an option.
If you include the vpadd intrinsics that I updated earlier, this gets rid
of 20 intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78646
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 11 Aug 2009 05:03:38 +0000 (05:03 +0000)]
Fix a few more places in TableGen that need to handle EVT::vAny types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78643
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 05:00:25 +0000 (05:00 +0000)]
llvm-mc/X86: Parse '*' correctly (in the way the matcher expects).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78642
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 04:44:00 +0000 (04:44 +0000)]
llvm-mc: Accept .word as a synonym for .short
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78641
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 04:34:48 +0000 (04:34 +0000)]
llvm-mc: Honor -o option (and add -f).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78640
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 04:24:50 +0000 (04:24 +0000)]
llvm-mc: Sketch parsing for .file, .line, and .loc. No streamer hooks for these
yet (I'm not even sure what they do).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78639
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 03:42:33 +0000 (03:42 +0000)]
llvm-mc: Fix darwin .section parsing. It was skipping the section name and a ','
(and outputting a diagnostic pointing at the wrong place), all of which lead to
much confusion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78637
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 02:59:53 +0000 (02:59 +0000)]
llvm-mc/AsmParser: Implement automatic classification of RegisterClass operands.
- This drops us to 123 ambiguous instructions (previously ~500) on X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78636
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Tue, 11 Aug 2009 01:51:55 +0000 (01:51 +0000)]
Fixed more problems caused by 78142.
Passing of indirect arguments starts after return value on the callee's frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78635
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 11 Aug 2009 01:44:26 +0000 (01:44 +0000)]
Replace DOUT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78634
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 11 Aug 2009 01:15:26 +0000 (01:15 +0000)]
Use new EVT::vAny type to combine Neon intrinsics for VPADD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78632
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 11 Aug 2009 01:14:02 +0000 (01:14 +0000)]
Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsic
arguments that are vectors of any size and element type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78631
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Tue, 11 Aug 2009 01:09:06 +0000 (01:09 +0000)]
Added the x86 INT instructions; both the special-case INT 3 and the general-case
INT i8. These instructions are only for interpretation by disassemblers, not
for emission, so they do not as yet have patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78630
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 11 Aug 2009 01:07:38 +0000 (01:07 +0000)]
Fix bug in NEON convert for single-precision FP. This also fixes the tblgen warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78629
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 11 Aug 2009 00:59:39 +0000 (00:59 +0000)]
Lay the groundwork for my upcoming ilist sentinel shrinking patch
by defining a LLVM_COMPACT_SENTINELS symbol to 0 or 1 in config.h.
I'm asking for 3 favors:
- may an autofoo expert look at this and suggest improvements?
- may a cmake expert suggest analogous functionality for config.h?
- may somebody with the right autofoo mix regenerate configure? (mine is too new)
Thanks!
--This line, and those below, will be ignored--
M configure.ac
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78628
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 11 Aug 2009 00:20:00 +0000 (00:20 +0000)]
Add stdlib.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78627
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 11 Aug 2009 00:09:57 +0000 (00:09 +0000)]
SjLj based exception handling unwinding support. This patch is nasty, brutish
and short. Well, it's kinda short. Definitely nasty and brutish.
The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.
Built on Darwin and verified no llvm-core "make check" regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78625
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 10 Aug 2009 23:56:04 +0000 (23:56 +0000)]
Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78622
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Mon, 10 Aug 2009 23:43:28 +0000 (23:43 +0000)]
Modified VNInfo. The "copy" member is now a union which holds the copy for a register interval, or the defining register for a stack interval. Access is via getCopy/setCopy and getReg/setReg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78620
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 10 Aug 2009 23:43:19 +0000 (23:43 +0000)]
Fix a bug in the DAGCombiner's handling of multiple linked
MERGE_VALUES nodes. Replacing the result values with the
operands in one MERGE_VALUES node may cause another
MERGE_VALUES node be CSE'd with the first one, and bring
its uses along, so that the first one isn't dead, as this
code expects. Fix this by iterating until the node is
really dead. This fixes PR4699.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78619
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 10 Aug 2009 23:15:10 +0000 (23:15 +0000)]
Fix a bug where DAGCombine was producing an illegal ConstantFP
node after legalize, and remove the workaround code from the
ARM backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78615
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 10 Aug 2009 23:14:14 +0000 (23:14 +0000)]
Use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78614
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 10 Aug 2009 23:06:57 +0000 (23:06 +0000)]
Use FileCheck... its good for you...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78613
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 10 Aug 2009 22:59:46 +0000 (22:59 +0000)]
Remove MDNode from ValueMap when MDNode is destroyed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78612
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 10 Aug 2009 22:58:08 +0000 (22:58 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78611
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 10 Aug 2009 22:56:29 +0000 (22:56 +0000)]
Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78610
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 10 Aug 2009 22:37:37 +0000 (22:37 +0000)]
Whitespace, 80-column, and isTwoAddress -> Constraints = "" changes.
No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78608
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 10 Aug 2009 22:31:31 +0000 (22:31 +0000)]
Rename MDNodeSet as MDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78607
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 10 Aug 2009 22:31:04 +0000 (22:31 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78606
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 10 Aug 2009 22:20:38 +0000 (22:20 +0000)]
Align comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78605
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 10 Aug 2009 22:17:39 +0000 (22:17 +0000)]
Use NEON for single-precision int<->FP conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78604
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 10 Aug 2009 22:11:20 +0000 (22:11 +0000)]
Do not rely on magic "llvm.dbg.*" global variable name to find debug info.
PIC16 developers, please verify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78603
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 10 Aug 2009 22:09:58 +0000 (22:09 +0000)]
Keep track of DIType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78602
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 10 Aug 2009 21:49:45 +0000 (21:49 +0000)]
Remove a bunch of debugging code that was slowing PBQP down by 25% or so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78601
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 10 Aug 2009 21:48:58 +0000 (21:48 +0000)]
Fix up whitespace, remove commented out code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78600
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 10 Aug 2009 21:06:41 +0000 (21:06 +0000)]
llvm-mc/AsmParser: Disambiguate i64i8imm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78598
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 10 Aug 2009 21:00:45 +0000 (21:00 +0000)]
llvm-mc/AsmParser: Allow .td users to redefine the names of the methods to call
on target specific operands for testing class membership and converting to
MCInst operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78597
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 10 Aug 2009 20:56:46 +0000 (20:56 +0000)]
Rename ConvertType to ConvertConstant to avoid a name conflict on llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78596
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 10 Aug 2009 20:46:15 +0000 (20:46 +0000)]
SimpleValueType-ify a few more methods on TargetLowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78595
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 10 Aug 2009 20:25:59 +0000 (20:25 +0000)]
Handle the constantfp created during post-legalization dag combiner phase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78594
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 10 Aug 2009 20:18:46 +0000 (20:18 +0000)]
Continue the SimpleValueType-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78593
91177308-0d34-0410-b5e6-
96231b3b80d8
Erick Tryzelaar [Mon, 10 Aug 2009 19:45:05 +0000 (19:45 +0000)]
Fix ocaml "make check" tests, that wasn't finding the proper c++ compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78592
91177308-0d34-0410-b5e6-
96231b3b80d8