Chris Lattner
cb178c61e4
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
2009-07-07 22:51:09 +00:00
Chris Lattner
0a6c2d8dea
random code cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74962 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 22:49:15 +00:00
Chris Lattner
5962ed0a36
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
2009-07-07 22:47:46 +00:00
Chris Lattner
9800e849c1
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
2009-07-07 22:41:32 +00:00
Chris Lattner
87c411b5cc
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
2009-07-07 22:28:41 +00:00
Bob Wilson
cd8eb8b60a
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
2009-07-07 22:27:20 +00:00
Chris Lattner
64a3fa23f8
add support for vector legalizing of *_EXTEND.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 22:27:17 +00:00
Jeffrey Yasskin
9a3b13fa9b
Fix http://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
2009-07-07 22:15:37 +00:00
Devang Patel
120505d5e7
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
2009-07-07 22:09:42 +00:00
Chris Lattner
33d6a3451b
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
2009-07-07 22:07:47 +00:00
Devang Patel
261cc194d7
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
2009-07-07 21:55:14 +00:00
Bill Wendling
66c6324fcf
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
2009-07-07 21:53:07 +00:00
Owen Anderson
62e744b555
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
2009-07-07 21:33:58 +00:00
Devang Patel
0a4afb6caf
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74949 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 21:12:32 +00:00
Owen Anderson
c9ab7bf98f
LLVM Context-ification.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 21:07:14 +00:00
Dan Gohman
18476eeb4a
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
2009-07-07 20:47:48 +00:00
Evan Cheng
e253c951b3
Add Thumb2 movcc instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74946 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 20:39:03 +00:00
Evan Cheng
35bd43da76
Add missing tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74945 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 20:38:08 +00:00
Chris Lattner
4e4db7adfc
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
2009-07-07 20:30:46 +00:00
Owen Anderson
74a77812d1
LLVMContext-ify the bitcode reader.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74942 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 20:18:58 +00:00
Dan Gohman
f667e7ed18
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
2009-07-07 20:05:15 +00:00
Evan Cheng
1c83eb33c3
Add BX and BXr9 encodings. Patch by Sean Callanan.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74938 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 19:16:24 +00:00
Mike Stump
d33007eb5f
Fix build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74936 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:52:14 +00:00
Owen Anderson
ff6c91efcf
Use LLVMContext in the LLLexer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:44:11 +00:00
Chris Lattner
151f369c53
fix a bug in post-order iterators with external storage, patch by
...
Olaf Krzikalla!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:43:48 +00:00
Chris Lattner
f5a1edce23
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74932 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:39:49 +00:00
Owen Anderson
a9d1f2c559
Have scoped mutexes take referenes instead of pointers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:33:04 +00:00
Chris Lattner
fd15beefee
Fix lli to print an error and exit when EE returns null but no string. Patch
...
by Eric Rannaud!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74930 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:31:09 +00:00
Chris Lattner
393aec6a44
"BinaryObject.h was implicitly converting between uint{16,32,64}_t to
...
uint8_t (via 'foo & 255'), i replaced this with an explicit (uint8_t)
cast which is equivalent, faster and more correct (silences
type-related warnings). Also, following coding standards I replaced
post-increment with pre-increment."
Patch by Ryan Flynn!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74929 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:28:00 +00:00
Bill Wendling
df225c0253
Remove unused parameter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74928 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:21:19 +00:00
Chris Lattner
a9b7d60d67
Eliminate the static constructors and locks from DynamicLibrary.cpp.
...
This fixes PR4512 and eliminating static ctors is always good. Losing
thread safety is unfortunate, but the code is just incredibly poorly
designed.
If someone is interested, the "right" solution is to split
DynamicLibrary.cpp into two separate pieces: a stateless piece in
libsystem, and a simple support file in libsupport that has the
"state" (e.g. AddSymbol) in managed static objects.
Doing this would both fix memory leaks we already have, as well as make
the code thread safe again. it would also make sense to move all the
unix specific code in System/DynamicLibrary.cpp into
System/Unix/DynamicLibrary.inc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74927 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:17:07 +00:00
Chris Lattner
72501b4a21
remove dead code, noone creates instances of "DynamicLibrary", so the ctor and dtor are dead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74926 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 18:01:58 +00:00
Evan Cheng
ddb03d831b
Revert 74898. It broke several tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74925 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 17:50:43 +00:00
Chris Lattner
0875c7ccf5
we don't use libtool anymore, update comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74924 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 17:50:11 +00:00
Torok Edwin
f361238a93
Fix braces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74923 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 17:39:53 +00:00
Torok Edwin
31e2466f15
Introduce new error handling API.
...
This will replace exit()/abort() style error handling with an API
that allows clients to register custom error handling hooks.
The default is to call exit(1) when no error handler is provided.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74922 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 17:32:34 +00:00
Owen Anderson
9903527c14
Re-LLVMContext-ize DebugInfo, now with less breakage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 17:12:53 +00:00
Dan Gohman
0bba49cebc
Change all SCEV* to SCEV *.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74918 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 17:06:11 +00:00
Owen Anderson
3081d89bf0
This parameter should default to true, not false.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74915 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:56:05 +00:00
Mikhail Glushenkov
15367df3f9
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74914 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:44:20 +00:00
Mikhail Glushenkov
bb41b2deca
Documentation update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74913 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:43:49 +00:00
Mikhail Glushenkov
091ca1c9e0
Show how to modify built-in options.
...
Sanjiv complained about the need to maintain local changes to
lib/CompilerDriver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74912 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:39:33 +00:00
Owen Anderson
e277fed6eb
Revert part of r74873 that broke Clang's debug info generation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74910 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:31:25 +00:00
Mikhail Glushenkov
640dd26f7d
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74908 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:09:48 +00:00
Mikhail Glushenkov
dad7820e14
Documentation update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:09:29 +00:00
Mikhail Glushenkov
6620ec1928
s/llvmc2/llvmc/
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74906 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:09:05 +00:00
Mikhail Glushenkov
8fe4447a0f
Add an 'init' option property.
...
Makes possible to provide default values for options defined in plugins (same as
cl::init).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74905 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:08:41 +00:00
Mikhail Glushenkov
cbc360d567
Refactoring.
...
Make isList(), isSwitch() and isParameter() member functions of
OptionDescription.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74904 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:08:11 +00:00
Mikhail Glushenkov
b797000820
Comment fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74903 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 16:07:36 +00:00
Sanjiv Gupta
1dd35b4c35
if the terminator is a branch depending upon the side effects of a
...
previous cmp; a copy can not be inserted here if the copy insn also has
side effects. We don't have access to the attributes of copy insn here;
so just play safe by finding a safe locations for branch terminators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 08:04:51 +00:00