David Goodwin
5bdef4b3f7
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.
...
llvm-svn: 75010
2009-07-08 16:09:28 +00:00
Duncan Sands
f3d675f3dd
Remove trailing whitespace. Reorder some methods
...
and cases alphabetically. No functionality change.
llvm-svn: 75001
2009-07-08 11:36:39 +00:00
Rafael Espindola
1e5ec149bb
Update the example to show that an archive can contain llvm bitcode.
...
llvm-svn: 75000
2009-07-08 11:13:34 +00:00
Alisdair Meredith
6be064d4d6
Trial first commit
...
Fixed build, requires std header before using std::string
llvm-svn: 74995
2009-07-08 09:04:19 +00:00
Sanjiv Gupta
e176389cc7
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.
...
llvm-svn: 74992
2009-07-08 05:40:05 +00:00
Nick Lewycky
d46a7b2d22
Remove the vicmp and vfcmp instructions. Because we never had a release with
...
these instructions, no autoupgrade or backwards compatibility support is
provided.
llvm-svn: 74991
2009-07-08 03:04:38 +00:00
Evan Cheng
18d70ca551
Add a Thumb2 instruction flag to that indicates whether the instruction can be transformed to 16-bit variant.
...
llvm-svn: 74988
2009-07-08 01:46:35 +00:00
Owen Anderson
7a1f69e433
Push LLVMContext through GlobalVariables and IRBuilder.
...
llvm-svn: 74985
2009-07-08 01:26:06 +00:00
Chris Lattner
54e86ad77c
remove two methods that no longer exist.
...
llvm-svn: 74982
2009-07-08 01:07:39 +00:00
Chris Lattner
d28d16bc57
more getting windows to build.
...
llvm-svn: 74981
2009-07-08 00:52:12 +00:00
Chris Lattner
c153b998d9
eliminate the v[if]cmp versions of these tests, now that [if]cmp+sext works.
...
llvm-svn: 74980
2009-07-08 00:49:35 +00:00
Chris Lattner
2939f0a318
Change these tests to use [fi]cmp+sext instead of v[fi]cmp. No
...
functionality change.
llvm-svn: 74979
2009-07-08 00:46:57 +00:00
Chris Lattner
ea7bd9b484
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
llvm-svn: 74978
2009-07-08 00:31:33 +00:00
Chris Lattner
00c23b1d9e
hopefully fix the build on windows.
...
llvm-svn: 74977
2009-07-08 00:29:32 +00:00
Evan Cheng
51549009b4
Add a todo.
...
llvm-svn: 74976
2009-07-08 00:05:05 +00:00
Evan Cheng
835946d309
Also statically set bit 25 for BR_JT instructions.
...
llvm-svn: 74974
2009-07-07 23:45:10 +00:00
Owen Anderson
ca017b9679
LLVMContext-ification.
...
llvm-svn: 74973
2009-07-07 23:43:39 +00:00
Evan Cheng
834ee3625c
Statically encode bit 25 to indicate immediate form of data processing instructions. Patch by Sean Callanan.
...
llvm-svn: 74972
2009-07-07 23:40:25 +00:00
Bill Wendling
16d9cd1062
--- 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.
llvm-svn: 74970
2009-07-07 23:37:49 +00:00
Chris Lattner
0e88c6a9b4
SelectionDAG::SignBitIsZero doesn't work right for vectors,
...
for now, conservatively return false.
llvm-svn: 74969
2009-07-07 23:28:46 +00:00
Dale Johannesen
7a31324b42
Commit the file I actually changed as part of last
...
patch, instead of one I didn't.
llvm-svn: 74968
2009-07-07 23:28:22 +00:00
Dale Johannesen
f77b78ed70
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
llvm-svn: 74967
2009-07-07 23:26:33 +00:00
Chris Lattner
e2435c4f6f
add support for legalizing an icmp where the result is illegal (4xi1) but
...
the input is legal (4 x i32)
llvm-svn: 74964
2009-07-07 23:03:54 +00:00
Chris Lattner
1de1b3155b
add a trivial test that vector compares work.
...
llvm-svn: 74963
2009-07-07 22:51:09 +00:00
Chris Lattner
8604f71f91
random code cleanups.
...
llvm-svn: 74962
2009-07-07 22:49:15 +00:00
Chris Lattner
a754f344b2
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.
llvm-svn: 74961
2009-07-07 22:47:46 +00:00
Chris Lattner
440ad90c83
lower vector icmp/fcmp to ICMP/FCMP nodes with the right result
...
(vector of bool).
llvm-svn: 74960
2009-07-07 22:41:32 +00:00
Chris Lattner
8361a0c867
ScalarizeVecRes_ShiftOp and ScalarizeVecRes_BinOp are the same,
...
eliminate the former.
llvm-svn: 74959
2009-07-07 22:28:41 +00:00
Bob Wilson
5178063d06
Change NEON vldN/vstN intrinsics to specify "N" as an immediate operand
...
instead of having a separate intrinsic for each value.
llvm-svn: 74958
2009-07-07 22:27:20 +00:00
Chris Lattner
7e1482b246
add support for vector legalizing of *_EXTEND.
...
llvm-svn: 74957
2009-07-07 22:27:17 +00:00
Jeffrey Yasskin
946cb41a12
Fix http://llvm.org/PR4481 : Make llvm-config print the right include paths when
...
srcdir!=objdir.
llvm-svn: 74956
2009-07-07 22:15:37 +00:00
Devang Patel
3559cabb97
Disable loop index split for now and let nightly tester verify its usefulness.
...
llvm-svn: 74955
2009-07-07 22:09:42 +00:00
Chris Lattner
573a3eeda2
verify that the fcmp version of this works just as well as the
...
vfcmp version. We actually get better code for this silly testcase.
llvm-svn: 74954
2009-07-07 22:07:47 +00:00
Devang Patel
e416111eeb
Accidently dropped this while removing dead code in previous commit.
...
llvm-svn: 74953
2009-07-07 21:55:14 +00:00
Bill Wendling
20158261a7
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.
llvm-svn: 74952
2009-07-07 21:53:07 +00:00
Owen Anderson
9d51d2c362
LLVMContext-ifiy the implementation of the C API.
...
llvm-svn: 74950
2009-07-07 21:33:58 +00:00
Devang Patel
4fdc3e6c1d
Remove dead code.
...
llvm-svn: 74949
2009-07-07 21:12:32 +00:00
Owen Anderson
64d037fba9
LLVM Context-ification.
...
llvm-svn: 74948
2009-07-07 21:07:14 +00:00
Dan Gohman
015eeb8ecb
Fix a typo and a grammaro in a comment.
...
llvm-svn: 74947
2009-07-07 20:47:48 +00:00
Evan Cheng
393e38e44b
Add Thumb2 movcc instructions.
...
llvm-svn: 74946
2009-07-07 20:39:03 +00:00
Evan Cheng
37abb8fc28
Add missing tests.
...
llvm-svn: 74945
2009-07-07 20:38:08 +00:00
Chris Lattner
2bea79b45b
Implement parsing support for the .comm directive. Patch by
...
Kevin Enderby!
llvm-svn: 74944
2009-07-07 20:30:46 +00:00
Owen Anderson
cc20598b25
LLVMContext-ify the bitcode reader.
...
llvm-svn: 74942
2009-07-07 20:18:58 +00:00
Dan Gohman
e5dcff3706
Add a paragraph about the Add->FAdd API change.
...
llvm-svn: 74941
2009-07-07 20:05:15 +00:00
Evan Cheng
409ea11513
Add BX and BXr9 encodings. Patch by Sean Callanan.
...
llvm-svn: 74938
2009-07-07 19:16:24 +00:00
Mike Stump
99dbf32ce2
Fix build.
...
llvm-svn: 74936
2009-07-07 18:52:14 +00:00
Owen Anderson
33df2f9812
Use LLVMContext in the LLLexer.
...
llvm-svn: 74934
2009-07-07 18:44:11 +00:00
Chris Lattner
f480b139c8
fix a bug in post-order iterators with external storage, patch by
...
Olaf Krzikalla!
llvm-svn: 74933
2009-07-07 18:43:48 +00:00
Chris Lattner
2bbbcbca79
fix some type confusion in ReadVBR64: "Piece" should be only 32 bits,
...
not 64, because we read at most 32 bits at a time. OTOH, "Result" must
be 64-bits and insertion into it must be 64-bit clean. Thanks to Ivan
Sorokin for bringing this up.
llvm-svn: 74932
2009-07-07 18:39:49 +00:00
Owen Anderson
75f0f1cc6c
Have scoped mutexes take referenes instead of pointers.
...
llvm-svn: 74931
2009-07-07 18:33:04 +00:00