Chris Lattner [Thu, 9 Jul 2009 02:43:55 +0000 (02:43 +0000)]
one more added assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75088
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 01:07:22 +0000 (01:07 +0000)]
remove eh, convert to FileCheck style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75087
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:58:53 +0000 (00:58 +0000)]
move handling of dllimport linkage in isel, not in asmprinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75086
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:53:44 +0000 (00:53 +0000)]
we have no tests for dllimport/export. Add one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75085
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Thu, 9 Jul 2009 00:52:44 +0000 (00:52 +0000)]
Work around an ICE in gcc-4.2.4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75084
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:49:29 +0000 (00:49 +0000)]
one more assertion!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75083
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:47:59 +0000 (00:47 +0000)]
add some more assertions. Remove code to handle dllimport on darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75082
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 9 Jul 2009 00:46:33 +0000 (00:46 +0000)]
Make SelectionDAG::getVectorShuffle work properly for VECTOR_SHUFFLE
nodes with operand types that differ from the result type. (This
doesn't normally happen right now, because
SelectionDAGLowering::visitShuffleVector normalizes vector shuffles.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75081
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:39:19 +0000 (00:39 +0000)]
remove "asmcall", using print_pcrel_imm instead of printOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75080
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:32:12 +0000 (00:32 +0000)]
simplify some logic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75079
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:27:29 +0000 (00:27 +0000)]
* add some assertions for sanity checking.
* remove some old code that was needed when we'd put ESP in the scale instead of
the base of some instructions.
* Fix a bug with the P modifier in inline asm that caused us to drop it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75077
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:19:21 +0000 (00:19 +0000)]
stop on the first file mismatch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75076
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 00:00:16 +0000 (00:00 +0000)]
add a test for dale's recent change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75074
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 8 Jul 2009 23:53:54 +0000 (23:53 +0000)]
Make SmallPtrSet iterators real iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75073
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Jul 2009 23:50:31 +0000 (23:50 +0000)]
LLVMContext-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75072
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 23:44:06 +0000 (23:44 +0000)]
switch test to FileCheck-style and test the P and non-P cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75071
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 23:40:57 +0000 (23:40 +0000)]
rename a test to make it a feature test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75070
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 23:10:31 +0000 (23:10 +0000)]
Use common code for both ARM and Thumb-2 instruction and register info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75067
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 23:09:14 +0000 (23:09 +0000)]
* manually concatenate two string literals
* remove some dead code: darwin doesn't support dllimport linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75066
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 8 Jul 2009 22:51:32 +0000 (22:51 +0000)]
- Add some NEON ld / st instruction static encoding.
- Make bits 25-27 for ldrh, etc. explicitly zero. Previously only the JIT uses the encoding information and it's assuming anything not specified to be zero. Making them explicit so the disassembler is happy.
Patch by Sean Callanan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75065
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 8 Jul 2009 22:25:56 +0000 (22:25 +0000)]
Fix thinko.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75061
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Wed, 8 Jul 2009 22:09:00 +0000 (22:09 +0000)]
Fix the AssertingVH unittests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75060
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Wed, 8 Jul 2009 21:59:57 +0000 (21:59 +0000)]
Add an option to allocate JITed global data separately from code. By
default, this option is not enabled to support clients who rely on
this behavior.
Fixes http://llvm.org/PR4483
A patch to allocate additional memory for globals after we run out is
forthcoming.
Patch by Reid Kleckner!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75059
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 8 Jul 2009 21:57:46 +0000 (21:57 +0000)]
Reformat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75058
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 8 Jul 2009 21:57:07 +0000 (21:57 +0000)]
Drop "constant" from
!0 = constant metadata !{...}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75057
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 8 Jul 2009 21:53:41 +0000 (21:53 +0000)]
Allow users of GraphWriter to display graphs asynchronously. This
provides a way to quickly dump a bunch of graph information to dot files
and display them. It's a timesaver when working on large systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75056
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 8 Jul 2009 21:46:40 +0000 (21:46 +0000)]
Add an ExecuteNoWait interface to support asynchronous process spawning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75055
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 8 Jul 2009 21:44:25 +0000 (21:44 +0000)]
Update SLotTracker to handle MDNode slots.
Simplify MDNode printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75053
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 8 Jul 2009 21:34:03 +0000 (21:34 +0000)]
Nowadays vectors are only split if they have an even
number of elements. Make some simplifications based
on this (in particular SplitVecRes_SETCC). Tighten
up some checking while there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75050
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 8 Jul 2009 21:03:57 +0000 (21:03 +0000)]
Change how so_imm and t2_so_imm are handled. At instruction selection time, the immediates are no longer encoded in the imm8 + rot format, that are left as it is. The encoding is now done in ams printing and code emission time instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75048
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Jul 2009 21:02:53 +0000 (21:02 +0000)]
Recommit r74952 with a bug fix:
DWARF requires frame moves be specified at specific times. If you have a
prologue like this:
__Z3fooi:
Leh_func_begin1:
LBB1_0: ## entry
pushl %ebp
Llabel1:
movl %esp, %ebp
Llabel2:
pushl %esi
Llabel3:
subl $20, %esp
call "L1$pb"
"L1$pb":
popl %esi
The "pushl %ebp" needs a table entry specifying the offset. The "movl %esp,
%ebp" makes %ebp the new stack frame register, so that needs to be specified in
DWARF. And "pushl %esi" saves the callee-saved %esi register, which also needs
to be specified in DWARF.
Before, all of this logic was in one method. This didn't work too well, because
as you can see there are multiple FDE line entries that need to be created.
This fix creates the "MachineMove" objects directly when they're needed; instead
of waiting until the end, and losing information.
There is some ugliness where we generate code like this:
LBB22_0: ## entry
pushl %ebp
Llabel280:
movl %esp, %ebp
Llabel281:
Llabel284:
pushl %ebp <----------
pushl %ebx
pushl %edi
pushl %esi
Llabel282:
subl $328, %esp
Notice the extra "pushl %ebp". If we generate a "machine move" instruction in
the FDE for that pushl, the linker may get very confused about what value %ebp
should have when exitting the function. I.e., it'll give it the value %esp
instead of the %ebp value from the first "pushl". Not to mention that, in this
case, %ebp isn't modified in the function (that's a separate bug). I put a small
hack in to get it to work. It might be the only solution, but should be
revisited once the above case is fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75047
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Jul 2009 20:57:27 +0000 (20:57 +0000)]
Use interators instead of counters for loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75046
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 8 Jul 2009 20:55:50 +0000 (20:55 +0000)]
Missed an exit during the conversion.
Will convert assert(0) that don't have abort() to LLVM_UNREACHABLE in a later
commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75045
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 8 Jul 2009 20:53:28 +0000 (20:53 +0000)]
Implement changes from Chris's feedback.
Finish converting lib/Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75043
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Jul 2009 20:50:47 +0000 (20:50 +0000)]
Push LLVMContext _back_ through IRBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75040
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 20:50:34 +0000 (20:50 +0000)]
Switch all the MC tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75039
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 20:40:54 +0000 (20:40 +0000)]
convert to FileCheck style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75038
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 8 Jul 2009 20:32:02 +0000 (20:32 +0000)]
Implement NEON vst1 instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75037
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 20:28:28 +0000 (20:28 +0000)]
Generalize opcode selection in ARMBaseRegisterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75036
91177308-0d34-0410-b5e6-
96231b3b80d8
Xerxes Ranby [Wed, 8 Jul 2009 20:13:41 +0000 (20:13 +0000)]
Fix cmake build.
Added ARMBaseRegisterInfo.cpp to lib/Target/ARM/CMakeLists.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75035
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 8 Jul 2009 19:23:54 +0000 (19:23 +0000)]
Support MDNode forward reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75031
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 8 Jul 2009 19:23:34 +0000 (19:23 +0000)]
Make the code that updates ScalarEvolution's internal state in response
to a loop deletion more thorough. Don't prune the def-use tree search at
instructions that don't have SCEVs computed, because an instruction with
a user that has a computed SCEV may itself lack a computed SCEV. Also,
remove loop-related values from the ValuesAtScopes and
ConstantEvolutionLoopExitValues maps as well.
This fixes a regression in 483.xalancbmk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75030
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 8 Jul 2009 19:14:29 +0000 (19:14 +0000)]
Tell ScalarEvolution to forget a loop before starting to delete it.
This way ScalarEvolution can examine the loop to determine what state
it needs to update, if it chooses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75029
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 8 Jul 2009 19:04:27 +0000 (19:04 +0000)]
Convert more abort() calls to llvm_report_error().
Also remove trailing semicolon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75027
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Jul 2009 19:03:57 +0000 (19:03 +0000)]
Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75025
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 18:51:25 +0000 (18:51 +0000)]
add some more check for vector compares.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75024
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 18:48:24 +0000 (18:48 +0000)]
convert a test to "FileCheck" style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75023
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 18:44:05 +0000 (18:44 +0000)]
Add a new little "FileCheck" utility for regression testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75022
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 18:31:39 +0000 (18:31 +0000)]
Push methods into base class in preparation for sharing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75020
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 8 Jul 2009 18:11:30 +0000 (18:11 +0000)]
Implement NEON vld1 instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75019
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 8 Jul 2009 18:01:40 +0000 (18:01 +0000)]
Start converting to new error handling API.
cerr+abort -> llvm_report_error
assert(0)+abort -> LLVM_UNREACHABLE (assert(0)+llvm_unreachable-> abort() included)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75018
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 17:55:48 +0000 (17:55 +0000)]
Conform...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75017
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 17:28:55 +0000 (17:28 +0000)]
Start breaking out common base functionality for register info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75016
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 17:09:18 +0000 (17:09 +0000)]
convert comments to doxygen style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75015
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 16:15:06 +0000 (16:15 +0000)]
Add rev16 test... xfail for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75012
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 16:12:12 +0000 (16:12 +0000)]
Add myself to blame file...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75011
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 8 Jul 2009 16:09:28 +0000 (16:09 +0000)]
Checkpoint Thumb2 Instr info work. Generalized base code so that it can be shared between ARM and Thumb2. Not yet activated because register information must be generalized first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75010
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 8 Jul 2009 11:36:39 +0000 (11:36 +0000)]
Remove trailing whitespace. Reorder some methods
and cases alphabetically. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75001
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 8 Jul 2009 11:13:34 +0000 (11:13 +0000)]
Update the example to show that an archive can contain llvm bitcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75000
91177308-0d34-0410-b5e6-
96231b3b80d8
Alisdair Meredith [Wed, 8 Jul 2009 09:04:19 +0000 (09:04 +0000)]
Trial first commit
Fixed build, requires std header before using std::string
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74995
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 8 Jul 2009 05:40:05 +0000 (05:40 +0000)]
Mark sublw_cc and subfw_cc as Terminator insns so that they are part of the terminator insns for a basic block alongwith branch insns. This way a copy is not getting inserted between cmp and branch during PHIElimination disturbing the status flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74992
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 8 Jul 2009 03:04:38 +0000 (03:04 +0000)]
Remove the vicmp and vfcmp instructions. Because we never had a release with
these instructions, no autoupgrade or backwards compatibility support is
provided.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 8 Jul 2009 01:46:35 +0000 (01:46 +0000)]
Add a Thumb2 instruction flag to that indicates whether the instruction can be transformed to 16-bit variant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74988
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Jul 2009 01:26:06 +0000 (01:26 +0000)]
Push LLVMContext through GlobalVariables and IRBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74985
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 01:07:39 +0000 (01:07 +0000)]
remove two methods that no longer exist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74982
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 00:52:12 +0000 (00:52 +0000)]
more getting windows to build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74981
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 00:49:35 +0000 (00:49 +0000)]
eliminate the v[if]cmp versions of these tests, now that [if]cmp+sext works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74980
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 00:46:57 +0000 (00:46 +0000)]
Change these tests to use [fi]cmp+sext instead of v[fi]cmp. No
functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74979
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 00:31:33 +0000 (00:31 +0000)]
dag combine sext(setcc) -> vsetcc before legalize. To make this safe,
VSETCC must define all bits, which is different than it was documented
to before. Since all targets that implement VSETCC already have this
behavior, and we don't optimize based on this, just change the
documentation. We now get nice code for vec_compare.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74978
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Jul 2009 00:29:32 +0000 (00:29 +0000)]
hopefully fix the build on windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74977
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 8 Jul 2009 00:05:05 +0000 (00:05 +0000)]
Add a todo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74976
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 7 Jul 2009 23:45:10 +0000 (23:45 +0000)]
Also statically set bit 25 for BR_JT instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74974
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Jul 2009 23:43:39 +0000 (23:43 +0000)]
LLVMContext-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74973
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 7 Jul 2009 23:40:25 +0000 (23:40 +0000)]
Statically encode bit 25 to indicate immediate form of data processing instructions. Patch by Sean Callanan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74972
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 7 Jul 2009 23:37:49 +0000 (23:37 +0000)]
--- Reverse-merging (from foreign repository) r74952 into '.':
U lib/Target/X86/X86RegisterInfo.cpp
U lib/Target/X86/X86RegisterInfo.h
Temporarily revert. This was causing an infinite loop in the linker on Leopard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74970
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 23:28:46 +0000 (23:28 +0000)]
SelectionDAG::SignBitIsZero doesn't work right for vectors,
for now, conservatively return false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74969
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 7 Jul 2009 23:28:22 +0000 (23:28 +0000)]
Commit the file I actually changed as part of last
patch, instead of one I didn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74968
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 7 Jul 2009 23:26:33 +0000 (23:26 +0000)]
Operand of asm("call") (the callee function) is represented
as "X" constraint and "P" modifier on x86. Make this work.
(Change may not be sufficient to fix it for non-Darwin, but
I'm pretty sure it won't break anything.)
gcc.apple/asm-block-32.c
gcc.apple/asm-block-33.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74967
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 23:03:54 +0000 (23:03 +0000)]
add support for legalizing an icmp where the result is illegal (4xi1) but
the input is legal (4 x i32)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74964
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 22:51:09 +0000 (22:51 +0000)]
add a trivial test that vector compares work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74963
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 22:49:15 +0000 (22:49 +0000)]
random code cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74962
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 22:47:46 +0000 (22:47 +0000)]
implement support for spliting and scalarizing vector setcc's. This
finishes off enough support for vector compares to get the icmp/fcmp
version of 2008-07-23-VSetCC.ll passing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74961
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 22:41:32 +0000 (22:41 +0000)]
lower vector icmp/fcmp to ICMP/FCMP nodes with the right result
(vector of bool).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74960
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 22:28:41 +0000 (22:28 +0000)]
ScalarizeVecRes_ShiftOp and ScalarizeVecRes_BinOp are the same,
eliminate the former.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74959
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 7 Jul 2009 22:27:20 +0000 (22:27 +0000)]
Change NEON vldN/vstN intrinsics to specify "N" as an immediate operand
instead of having a separate intrinsic for each value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74958
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 22:27:17 +0000 (22:27 +0000)]
add support for vector legalizing of *_EXTEND.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74957
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 7 Jul 2009 22:15:37 +0000 (22:15 +0000)]
Fix llvm.org/PR4481: Make llvm-config print the right include paths when
srcdir!=objdir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74956
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Jul 2009 22:09:42 +0000 (22:09 +0000)]
Disable loop index split for now and let nightly tester verify its usefulness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74955
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 22:07:47 +0000 (22:07 +0000)]
verify that the fcmp version of this works just as well as the
vfcmp version. We actually get better code for this silly testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74954
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Jul 2009 21:55:14 +0000 (21:55 +0000)]
Accidently dropped this while removing dead code in previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74953
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 7 Jul 2009 21:53:07 +0000 (21:53 +0000)]
DWARF requires frame moves be specified at specific times. If you have a
prologue like this:
__Z3fooi:
Leh_func_begin1:
LBB1_0: ## entry
pushl %ebp
Llabel1:
movl %esp, %ebp
Llabel2:
pushl %esi
Llabel3:
subl $20, %esp
call "L1$pb"
"L1$pb":
popl %esi
The "pushl %ebp" needs a table entry specifying the offset. The "movl %esp,
%ebp" makes %ebp the new stack frame register, so that needs to be specified in
DWARF. And "pushl %esi" saves the callee-saved %esi register, which also needs
to be specified in DWARF.
Before, all of this logic was in one method. This didn't work too well, because
as you can see there are multiple FDE line entries that need to be created.
This fix creates the "MachineMove" objects directly when they're needed; instead
of waiting until the end, and losing information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74952
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Jul 2009 21:33:58 +0000 (21:33 +0000)]
LLVMContext-ifiy the implementation of the C API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74950
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Jul 2009 21:12:32 +0000 (21:12 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74949
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Jul 2009 21:07:14 +0000 (21:07 +0000)]
LLVM Context-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74948
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 7 Jul 2009 20:47:48 +0000 (20:47 +0000)]
Fix a typo and a grammaro in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74947
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 7 Jul 2009 20:39:03 +0000 (20:39 +0000)]
Add Thumb2 movcc instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74946
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 7 Jul 2009 20:38:08 +0000 (20:38 +0000)]
Add missing tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74945
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Jul 2009 20:30:46 +0000 (20:30 +0000)]
Implement parsing support for the .comm directive. Patch by
Kevin Enderby!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74944
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Jul 2009 20:18:58 +0000 (20:18 +0000)]
LLVMContext-ify the bitcode reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74942
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 7 Jul 2009 20:05:15 +0000 (20:05 +0000)]
Add a paragraph about the Add->FAdd API change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74941
91177308-0d34-0410-b5e6-
96231b3b80d8