Rafael Espindola
349c3298da
Mark the EH symbol global or weak if the corresponding function is.
...
llvm-svn: 130397
2011-04-28 12:50:37 +00:00
Jay Foad
07ef11112e
Fix typos in comments.
...
llvm-svn: 130396
2011-04-28 09:12:47 +00:00
Chandler Carruth
93da3c8233
Fix the last -Wnon-pod-memset I'm seeing. This is benign, but appears
...
a bit more sinister as the memset doesn't do what the constructor does.
There seems to be a cleaner solution than a cast here though, instead we
can point the memset destination into the union its actually trying to
clear.
An alternative is to point to the Untyped member of this union. Review
appreciated, and if that is cleaner I'm happy to switch. All of these
should be functionally equivalent to the original code.
llvm-svn: 130395
2011-04-28 08:37:18 +00:00
Chandler Carruth
6e1f9babcd
Silence more -Wnon-pod-memset given its current implementation. I may be
...
able to revert these based on a patch I'm working on, but no reason for
people to be spammed with warnings in the interim.
llvm-svn: 130394
2011-04-28 08:19:45 +00:00
Chandler Carruth
3f7b581e2f
Revert an unintended commit. Very sorry for this one.
...
llvm-svn: 130393
2011-04-28 08:18:22 +00:00
Chandler Carruth
0c2bef1716
Fix more -Wnon-pod-memset warnings.
...
llvm-svn: 130392
2011-04-28 08:17:08 +00:00
Chandler Carruth
e63a7b21f6
nuke gold
...
llvm-svn: 130391
2011-04-28 08:17:05 +00:00
Chris Lattner
827a270a2a
teach GVN to widen integer loads when they are overaligned, when doing an
...
wider load would allow elimination of subsequent loads, and when the wider
load is still a native integer type. This eliminates a ton of loads on
various benchmarks involving struct fields, though it is somewhat hobbled
by clang not being very aggressive about field alignment.
This is yet another step along the way towards resolving PR6627.
llvm-svn: 130390
2011-04-28 07:29:08 +00:00
Anton Korobeynikov
df5c1b77db
Add BTT directory structure to polly
...
llvm-svn: 130389
2011-04-28 07:28:28 +00:00
Ted Kremenek
4c62882604
Add comment to CFGBlock suggested by Jiri Slaby.
...
llvm-svn: 130387
2011-04-28 06:19:35 +00:00
Eric Christopher
a98cd22d96
Let the immediate leaf pattern take transforms and switch the signed
...
immediate patterns in arm to using the pattern.
Handles rdar://9299434
llvm-svn: 130386
2011-04-28 05:49:04 +00:00
Chris Lattner
2a75c72e1c
move PR9803 to this readme.
...
llvm-svn: 130385
2011-04-28 05:33:16 +00:00
Francois Pichet
fc15ae466c
Update r130381 to check for UO_AddrOf.
...
llvm-svn: 130384
2011-04-28 05:12:34 +00:00
Ted Kremenek
f5df0ce949
Enhance clang_getCXTUResourceUsage() to report the amount of memory used by ASTContext's side tables.
...
llvm-svn: 130383
2011-04-28 04:53:38 +00:00
Ted Kremenek
2901731553
Add utility method to DenseMap to return the amount of memory used for its buckets.
...
llvm-svn: 130382
2011-04-28 04:52:57 +00:00
Francois Pichet
a1c1352a36
Support &__uuidof(type) as a non type template argument.
...
This idiom is used everywhere in MFC/COM code and as such this patch removes hundreds of errors when parsing MFC code with clang.
Example:
template <class T, const GUID* g = &__uuidof(T)>
class ComTemplate { };
typedef ComTemplate<struct_with_uuid, &__uuidof(struct_with_uuid)> COM_TYPE;
Of course this is just parsing support. Trying to use this in CodeGen will generate:
error: cannot yet mangle expression type CXXUuidofExpr
llvm-svn: 130381
2011-04-28 04:39:50 +00:00
Ted Kremenek
21735e608d
Enhance clang_getCXTUResourceUsage() to report the amount of memory used by SourceManager's content cache allocator.
...
llvm-svn: 130380
2011-04-28 04:10:31 +00:00
Rafael Espindola
2eeee8cfef
Add a small temporary hack for producing identical eh_frame sections on OS X.
...
This removes one of the main advantages of moving eh_frame to MC, but
makes the transition a lot easier to debug (run md5).
llvm-svn: 130379
2011-04-28 04:04:14 +00:00
Rafael Espindola
bf60fb0a37
Produce the EH_frame# symbols if needed.
...
llvm-svn: 130378
2011-04-28 03:26:11 +00:00
Francois Pichet
bfaf477a99
SEH was crashing under -fms-extensions.
...
llvm-svn: 130377
2011-04-28 03:14:31 +00:00
John McCall
7f0a0d55c0
Implement the mangling for non-ADL call expressions that we just
...
worked out.
llvm-svn: 130376
2011-04-28 02:52:03 +00:00
Rafael Espindola
96b07932a3
Forward isFunctionEHFrameSymbolPrivate. If it is false, produce the foo.eh
...
symbols.
llvm-svn: 130375
2011-04-28 02:46:42 +00:00
Devang Patel
4a14cd9cf9
Test case for r130373.
...
llvm-svn: 130374
2011-04-28 02:23:17 +00:00
Devang Patel
3e021533cd
Teach dwarf writer to handle complex address expression for .debug_loc entries.
...
This fixes clang generated blocks' variables' debug info.
Radar 9279956.
llvm-svn: 130373
2011-04-28 02:22:40 +00:00
John McCall
a85af56e66
When block-capturing a variable with a non-trivial destructor,
...
make sure to mark the destructor. This normally isn't required,
because the destructor should have been marked as part of the
declaration of the local, but it's necessary when the variable
is a parameter because it's the call sites that are responsible
for those destructors.
llvm-svn: 130372
2011-04-28 02:15:35 +00:00
John Wiegley
d352222839
A few corrections to type traits that missed the last checkin
...
llvm-svn: 130371
2011-04-28 02:06:46 +00:00
Francois Pichet
4c3b68c366
Because of r130359 this test no longer fail on Windows.
...
llvm-svn: 130370
2011-04-28 02:01:57 +00:00
Francois Pichet
84133e41be
Upgrade Microsoft's __int8, __int16, __int32 and __int64 types from builtin defines to real types.
...
Otherwise statements like:
__int64 var = __int64(0);
would be expanded to:
long long var = long long(0);
and fail to compile.
llvm-svn: 130369
2011-04-28 01:59:37 +00:00
Ted Kremenek
b5fabb2f9f
Convert assertion in memset checking to a runtime check (because real code may provide a deviant definition of memset).
...
llvm-svn: 130368
2011-04-28 01:38:02 +00:00
John Wiegley
d25f8eb393
Removed test that depended on ast-test
...
llvm-svn: 130367
2011-04-28 01:09:13 +00:00
John Wiegley
1c0675e155
Parsing/AST support for Structured Exception Handling
...
Patch authored by Sohail Somani.
Provide parsing and AST support for Windows structured exception handling.
llvm-svn: 130366
2011-04-28 01:08:34 +00:00
Douglas Gregor
1d684c253f
More cleanup of template argument deduction and its handling of
...
non-CVR qualifiers. We can now properly match address-space--qualified
references during template argument deduction.
llvm-svn: 130365
2011-04-28 00:56:09 +00:00
Chris Lattner
22e6c10256
silence some -Wnon-pod-memset warnings, since std::pair is not POD.
...
llvm-svn: 130364
2011-04-28 00:55:53 +00:00
Eli Friedman
33c133919a
Fix a silly mistake in r130338.
...
llvm-svn: 130360
2011-04-28 00:42:03 +00:00
Matt Beaumont-Gay
7e92e57b0b
Fix modified-header-crash.c for read-only source trees
...
llvm-svn: 130359
2011-04-28 00:23:49 +00:00
Justin Holewinski
45c30df303
PTX: support for select_cc and fixes for setcc
...
- expansion of SELECT_CC into SETCC
- force SETCC result type to i1
- custom selection for handling i1 using SETCC
Patch by Dan Bailey
llvm-svn: 130358
2011-04-28 00:19:56 +00:00
Justin Holewinski
498f703d84
PTX: support for select
...
- selection of SELP instruction
- new selp.ll test
Patch by Dan Bailey
llvm-svn: 130357
2011-04-28 00:19:55 +00:00
Justin Holewinski
e7d272e68b
PTX: mov fix and rounding correction for cvt
...
- fix typo in MOV
- correct fp rounding on CVT
- new cvt.ll test
Patch by Dan Bailey
llvm-svn: 130356
2011-04-28 00:19:54 +00:00
Justin Holewinski
f6880019d1
PTX: support for fneg
...
- selection of FNEG instruction
- new fneg.ll test
Patch by Dan Bailey
llvm-svn: 130355
2011-04-28 00:19:53 +00:00
Justin Holewinski
99e03f1943
PTX: support for zext loads and trunc stores
...
- expansion of EXTLOAD and TRUNCSTORE instructions
Patch by Dan Bailey
llvm-svn: 130354
2011-04-28 00:19:52 +00:00
Justin Holewinski
18e6ac83ea
PTX: support for bitwise operations on predicates
...
- selection of bitwise preds (AND, OR, XOR)
- new bitwise.ll test
Patch by Dan Bailey
llvm-svn: 130353
2011-04-28 00:19:51 +00:00
Justin Holewinski
638f0eb116
PTX: patch to AsmPrinter
...
- immediate value cast as long not int
- handles initializer for constant array
Patch by Dan Bailey
llvm-svn: 130352
2011-04-28 00:19:50 +00:00
John Wiegley
6242b6a688
Implementation of Embarcadero array type traits
...
Patch authored by John Wiegley.
These are array type traits used for parsing code that employs certain
features of the Embarcadero C++ compiler: __array_rank(T) and
__array_extent(T, Dim).
llvm-svn: 130351
2011-04-28 00:16:57 +00:00
Andrew Trick
1e34241abd
Reverting r130340 in the unlikely event that it's responsible for a llvm-gcc stage2 compiler error.
...
llvm-svn: 130350
2011-04-28 00:13:59 +00:00
Devang Patel
443e46f16d
Silence return-type warning.
...
llvm-svn: 130349
2011-04-28 00:02:06 +00:00
Eli Friedman
8bd572fc58
fast-isel sret. We actually don't need to do anything special on x86. :) rdar://problem/9303592 .
...
llvm-svn: 130348
2011-04-27 23:58:52 +00:00
Ted Kremenek
04f93b9cf1
Update regex in scan-build for parsing statistics.
...
llvm-svn: 130347
2011-04-27 23:43:27 +00:00
Douglas Gregor
1784688de7
Clean up the handling of non-CVR qualifiers in template argument
...
deduction. The good news is that address spaces are a lot less broken
in this regard than I'd expected.
llvm-svn: 130346
2011-04-27 23:34:22 +00:00
Johnny Chen
c3c7001844
Add tests for A8.6.110 NOP.
...
llvm-svn: 130345
2011-04-27 23:29:21 +00:00
Rafael Espindola
ce83fc3463
Remove unnecessary argument.
...
llvm-svn: 130343
2011-04-27 23:17:57 +00:00