Commit Graph

62357 Commits

Author SHA1 Message Date
David Goodwin b841376098 Conform...
llvm-svn: 75017
2009-07-08 17:55:48 +00:00
David Goodwin eebf58805c Start breaking out common base functionality for register info.
llvm-svn: 75016
2009-07-08 17:28:55 +00:00
Chris Lattner 9b4b741414 convert comments to doxygen style
llvm-svn: 75015
2009-07-08 17:09:18 +00:00
Fariborz Jahanian 8e0d04249d Patch adds test to my previous patch for assigning to
gc'able structs in the Next runtime and adds missing
PCH info.

llvm-svn: 75014
2009-07-08 16:37:44 +00:00
Chris Lattner 26670dcba1 fix PR4513, a build problem with VC++, patch by James Abbatiello!
llvm-svn: 75013
2009-07-08 16:24:37 +00:00
David Goodwin 121563c615 Add rev16 test... xfail for now
llvm-svn: 75012
2009-07-08 16:15:06 +00:00
David Goodwin 27ab3af0d7 Add myself to blame file...
llvm-svn: 75011
2009-07-08 16:12:12 +00:00
David Goodwin af7451b674 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 9cb27e9c08 Correct FreeBSD target info, fixing PR4514.
Patch by Roman Divacky.

llvm-svn: 75003
2009-07-08 13:55:08 +00:00
Duncan Sands 3f1e2409cc 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 ca4231e353 Update the example to show that an archive can contain llvm bitcode.
llvm-svn: 75000
2009-07-08 11:13:34 +00:00
Douglas Gregor be759256b9 Fix a corner case with argument-dependent lookup and overloaded function sets.
llvm-svn: 74999
2009-07-08 10:57:20 +00:00
Douglas Gregor ed3c80eb75 Update the C++ status table to better reflect our support for function overloading
llvm-svn: 74997
2009-07-08 10:03:09 +00:00
Alisdair Meredith be1cb301c2 Trial first commit
Fixed build, requires std header before using std::string

llvm-svn: 74995
2009-07-08 09:04:19 +00:00
Douglas Gregor 197e5f7bb7 Improve argument-dependent lookup to find associated classes and
namespaces based on the template arguments of a class template
specialization type.

llvm-svn: 74993
2009-07-08 07:51:57 +00:00
Sanjiv Gupta 16019aaa4f 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 a21d3daadc 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
Argyrios Kyrtzidis d8ffadcd82 Initialize the ConstantArraySizeAsWritten field of PrintingPolicy class.
It contained garbage since the constructor didn't initialize it and caused test/Sema/array-constraint.c to randomly fail.

llvm-svn: 74989
2009-07-08 02:17:42 +00:00
Evan Cheng 14965760a7 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 9f211fb4fa Update for LLVM API change.
llvm-svn: 74986
2009-07-08 01:29:18 +00:00
Owen Anderson 5948fdf68b Push LLVMContext through GlobalVariables and IRBuilder.
llvm-svn: 74985
2009-07-08 01:26:06 +00:00
Fariborz Jahanian 5f21d2f69a Implemented memmove_collectable API for Next runtime
when struct variables with GC'able members are copied into.
Will provide a test case later.

llvm-svn: 74984
2009-07-08 01:18:33 +00:00
Chris Lattner 2a7deb64c0 reimplement vector comparisons as [fi]cmp+sext instead of using v[if]cmp.
Also, enable them in sema so that they are tested, and now that the x86 backend
has stablized.

llvm-svn: 74983
2009-07-08 01:08:03 +00:00
Chris Lattner d41531a2c0 remove two methods that no longer exist.
llvm-svn: 74982
2009-07-08 01:07:39 +00:00
Chris Lattner e4807c5767 more getting windows to build.
llvm-svn: 74981
2009-07-08 00:52:12 +00:00
Chris Lattner 04bf64d43c 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 dc84b31d94 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 4ac607332d 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 e3241b5719 hopefully fix the build on windows.
llvm-svn: 74977
2009-07-08 00:29:32 +00:00
Evan Cheng b61e3a83ee Add a todo.
llvm-svn: 74976
2009-07-08 00:05:05 +00:00
Douglas Gregor abd6813ff9 The canonical type of typeof or decltype with a dependent type is itself,
not Context.DependentTy. I'll let Anders check in the test case for this one...

llvm-svn: 74975
2009-07-08 00:03:05 +00:00
Evan Cheng f0080b734a Also statically set bit 25 for BR_JT instructions.
llvm-svn: 74974
2009-07-07 23:45:10 +00:00
Owen Anderson 155dccd87c LLVMContext-ification.
llvm-svn: 74973
2009-07-07 23:43:39 +00:00
Evan Cheng 2cff076cfe 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
Douglas Gregor d3cb356d14 Overload resolution prefers non-templates to templates
llvm-svn: 74971
2009-07-07 23:38:56 +00:00
Bill Wendling 69bf0a1e2a --- 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 f3989abdbf 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 9e5b64b7b7 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 4e33115e5e 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
Douglas Gregor 9fc6097145 Template argument deduction from a call has improved a bit
llvm-svn: 74966
2009-07-07 23:12:18 +00:00
Douglas Gregor e81f3e71f8 Improve template argument deduction from a call. In particular,
implement C++ [temp.deduct.call]p3b3, which allows a template-id
parameter to match a derived class of the argument, while deducing
template arguments.

llvm-svn: 74965
2009-07-07 23:09:34 +00:00
Chris Lattner fc74e8241a 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 cbbf747b7b add a trivial test that vector compares work.
llvm-svn: 74963
2009-07-07 22:51:09 +00:00
Chris Lattner f48f3be185 random code cleanups.
llvm-svn: 74962
2009-07-07 22:49:15 +00:00
Chris Lattner 30220d8f98 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 f2af7f44e7 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 119421421a ScalarizeVecRes_ShiftOp and ScalarizeVecRes_BinOp are the same,
eliminate the former.

llvm-svn: 74959
2009-07-07 22:28:41 +00:00
Bob Wilson b1a1437a01 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 cc1fed3111 add support for vector legalizing of *_EXTEND.
llvm-svn: 74957
2009-07-07 22:27:17 +00:00
Jeffrey Yasskin 90b081ac15 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