Commit Graph

51832 Commits

Author SHA1 Message Date
Anders Carlsson f562b39e80 Add a MS specific intrinsic.
llvm-svn: 61446
2008-12-27 04:26:15 +00:00
Anders Carlsson a7e0e61b9d Eli noticed that I had forgotten some #defines. Add them.
llvm-svn: 61445
2008-12-26 22:49:10 +00:00
Anders Carlsson 70f8da06d3 Add float.h header. Eli, please review :)
llvm-svn: 61444
2008-12-26 17:10:18 +00:00
Anders Carlsson 702cb5c29f Add __builtin_flt_rounds
llvm-svn: 61443
2008-12-26 16:43:35 +00:00
Douglas Gregor 1dc9826a46 Add support for out-of-line definitions of conversion functions and member operators
llvm-svn: 61442
2008-12-26 15:00:45 +00:00
Anders Carlsson 88b53663fb Fix implementation of _mm_pause.
llvm-svn: 61441
2008-12-26 02:22:10 +00:00
Anders Carlsson 19ef5d49d4 OK, all tests pass. Let's start using the SSE2 header
llvm-svn: 61440
2008-12-26 00:57:11 +00:00
Anders Carlsson c8f436df25 Add two more builtins
llvm-svn: 61439
2008-12-26 00:55:49 +00:00
Anton Korobeynikov b46e3a8d3b Complete the test after adding handling of merged attributes on decls.
llvm-svn: 61438
2008-12-26 00:52:17 +00:00
Anton Korobeynikov d72f47aa05 Add full dllimport / dllexport support: both sema checks and codegen.
Patch by Ilya Okonsky

llvm-svn: 61437
2008-12-26 00:52:02 +00:00
Anton Korobeynikov 3112c877c1 Testcase for stdcall/fastcall sema checks.
Patch by Ilya Okonsky!

llvm-svn: 61436
2008-12-26 00:51:21 +00:00
Anders Carlsson 37ba1a5927 Fix formatting
llvm-svn: 61435
2008-12-26 00:50:47 +00:00
Anders Carlsson 37c2371a88 Add _mm_pause and _MM_SHUFFLE
llvm-svn: 61434
2008-12-26 00:49:43 +00:00
Anders Carlsson 85eb1247a3 More SSE2 intrinsics
llvm-svn: 61433
2008-12-26 00:45:50 +00:00
Anders Carlsson a0d5ca2773 More SSE2 intrinsics
llvm-svn: 61432
2008-12-25 23:48:58 +00:00
Steve Naroff f9c29d4200 Add parser support for __forceinline, __w64, __ptr64.
llvm-svn: 61431
2008-12-25 14:41:26 +00:00
Steve Naroff 44ac777741 Add parser support for __cdecl, __stdcall, and __fastcall.
Change preprocessor implementation of _cdecl to reference __cdecl.

llvm-svn: 61430
2008-12-25 14:16:32 +00:00
Zhongxing Xu 4c1661102e Add Fedora 10 GCC paths.
llvm-svn: 61429
2008-12-25 09:28:01 +00:00
Anders Carlsson 51beccbd0b Make _mm_add_si64 inlined
llvm-svn: 61428
2008-12-25 07:07:08 +00:00
Chris Lattner 3d1bce04e0 add PR #
llvm-svn: 61427
2008-12-25 05:40:38 +00:00
Chris Lattner 2a7c988627 Add a simple pattern for matching 'bt'.
llvm-svn: 61426
2008-12-25 05:34:37 +00:00
Chris Lattner 1b8c9f795a Fix some JIT encodings.
llvm-svn: 61425
2008-12-25 01:32:49 +00:00
Chris Lattner d1dfdab973 BT memory operands load from their address operand.
llvm-svn: 61424
2008-12-25 01:27:10 +00:00
Chris Lattner 8175f27d3f translateX86CC can never fail. Simplify it based on this.
llvm-svn: 61423
2008-12-24 23:53:05 +00:00
Steve Naroff 3a9b7e0cff Add explicit "fuzzy" parse support for Microsoft declspec.
Remove previous __declspec macro that would effectively erase the construct prior to parsing.

llvm-svn: 61422
2008-12-24 20:59:21 +00:00
Sebastian Redl 068b13d62a Fix try statement deserialization.
llvm-svn: 61421
2008-12-24 13:02:38 +00:00
Bill Wendling d6bd7e9372 Darwin likes for the EH frame to be non-local.
llvm-svn: 61420
2008-12-24 08:05:17 +00:00
Ted Kremenek 2907ab7d77 Add a bunch of comments and FIXMEs.
llvm-svn: 61419
2008-12-24 07:46:32 +00:00
Zhongxing Xu c7a2792817 set region default value if there are not enough init values for array and struct.
llvm-svn: 61418
2008-12-24 07:29:24 +00:00
Zhongxing Xu be2d5535f6 Add serialization support for TypeOfType.
llvm-svn: 61417
2008-12-24 07:22:26 +00:00
Zhongxing Xu 329f204b1b Add serialization support for TypeOfExpr.
llvm-svn: 61416
2008-12-24 06:36:01 +00:00
Bill Wendling 066b5f6724 GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sure
about other platforms.

llvm-svn: 61415
2008-12-24 05:25:49 +00:00
Bill Wendling f4e6356d06 Revert the changes in this testcase until Anton can fix them.
llvm-svn: 61414
2008-12-24 05:23:34 +00:00
Douglas Gregor b9bd8a994c Keep track of template arguments when we parse them. Right now, we don't actually do anything with the template arguments, but they'll be used to create template declarations
llvm-svn: 61413
2008-12-24 02:52:09 +00:00
Anders Carlsson a283f91a67 Add integer arithmetic intrinsics
llvm-svn: 61412
2008-12-24 02:41:00 +00:00
Anders Carlsson b08ac0b2b0 Add store/set/load intrisics
llvm-svn: 61411
2008-12-24 02:11:54 +00:00
Anders Carlsson f15e71d170 Start implementing some SSE2 instructions
llvm-svn: 61410
2008-12-24 01:45:22 +00:00
Ted Kremenek ae189ec1be Comment and fixup GDM entries for RegionStore to use unique 'tag classes' to identify GDM entries.
llvm-svn: 61409
2008-12-24 01:05:03 +00:00
Dan Gohman 198b8e78c3 Fix a compiler-abort on a testcase where the stack-pointer is added to
a symbolic constant. This is unlikely to be intentional, but it
shouldn't crash the compiler.

llvm-svn: 61408
2008-12-24 00:27:51 +00:00
Chris Lattner 4b46b74ece indentation
llvm-svn: 61407
2008-12-24 00:11:37 +00:00
Douglas Gregor 583540360c Correct the order in which we cope with end-of-class-definition
semantics and improve our handling of default arguments. Specifically,
we follow this order:

  - As soon as the see the '}' in the class definition, the class is
  complete and we add any implicit declarations (default constructor,
  copy constructor, etc.) to the class.
  - If there are any default function arguments, parse them
  - If there were any inline member function definitions, parse them

As part of this change, we now keep track of the the fact that we've
seen unparsed default function arguments within the AST. See the new
ParmVarDecl::hasUnparsedDefaultArg member. This allows us to properly
cope with calls inside default function arguments to other functions
where we're making use of the default arguments.

Made some C++ error messages regarding failed initializations more
specific. 

llvm-svn: 61406
2008-12-24 00:01:03 +00:00
Dale Johannesen ee573fcefc Change comments so everybody can understand them, hopefully.
llvm-svn: 61405
2008-12-23 23:47:22 +00:00
Chris Lattner e9988b661d simplify some control flow and reduce indentation, no functionality change.
llvm-svn: 61404
2008-12-23 23:42:27 +00:00
Dale Johannesen 656237beca Revert 61362 and 61402 until SPEC breakage is fixed.
llvm-svn: 61403
2008-12-23 23:21:35 +00:00
Dale Johannesen f8b161bcd1 This fixes the bug in 175.vpr. It doesn't fix the
other SPEC breakage.  I'll be reverting all recent
changes shortly, this checking is mostly so this
change doesn't get lost.

llvm-svn: 61402
2008-12-23 23:05:26 +00:00
Dale Johannesen acc84e5aa0 Add another permutation where we should get rid of a-a.
llvm-svn: 61401
2008-12-23 23:01:27 +00:00
Dan Gohman 25a767d7f4 Add instruction patterns and encodings for the x86 bt instructions.
llvm-svn: 61400
2008-12-23 22:45:23 +00:00
Anton Korobeynikov cfe108a064 Update test
llvm-svn: 61399
2008-12-23 22:26:37 +00:00
Anton Korobeynikov f4a66e8dda Restore debug printing
llvm-svn: 61398
2008-12-23 22:26:18 +00:00
Anton Korobeynikov d305d00796 Sometimes APInt syntax is really ugly... :(
llvm-svn: 61397
2008-12-23 22:26:01 +00:00