Evan Cheng
45d8f8a08c
Do not fold ADD / SUB into load / store (to form pre-indexed, post-indexed
...
load / store) if the ADD / SUB has a live definition of CPSR.
Bug reported by David Meyer. Alas, no test case.
llvm-svn: 149970
2012-02-07 07:09:28 +00:00
Craig Topper
b27fd77c3f
Add instruction selection for 256-bit VPSHUFD and 128-bit VPERMILPS/VPERMILPD.
...
llvm-svn: 149968
2012-02-07 06:28:42 +00:00
Craig Topper
a2886c21d9
Convert assert(0) to llvm_unreachable
...
llvm-svn: 149967
2012-02-07 05:05:23 +00:00
Eli Friedman
a767941651
Fix a bug in semantic analysis involving anonymous structs and flexible arrays.
...
llvm-svn: 149966
2012-02-07 05:00:47 +00:00
Eli Friedman
2beed114ba
Fix a couple of nasty bugs involving negative enum constants. <rdar://problem/10760113>.
...
llvm-svn: 149965
2012-02-07 04:34:38 +00:00
Ted Kremenek
987dbdb56e
Update test case.
...
llvm-svn: 149964
2012-02-07 03:56:27 +00:00
Eli Friedman
1b125c3e31
Make FunctionDecl::doesDeclarationForceExternallyVisibleDefinition use the same logic as FunctionDecl::isInlineDefinitionExternallyVisible to figure out whether to emit a definition. Based on work by Anton Yartsev.
...
llvm-svn: 149963
2012-02-07 03:50:18 +00:00
Nick Kledzik
23384e84af
Add support for UndefinedAtom in yaml and native format. Add test cases with undefined atoms
...
llvm-svn: 149962
2012-02-07 02:59:54 +00:00
Craig Topper
e55c556a24
Convert assert(0) to llvm_unreachable
...
llvm-svn: 149961
2012-02-07 02:50:20 +00:00
Ted Kremenek
0298834e46
Create PathDiagnosticCallEnter and PathDiagnosticCallExit, to remark calls in PathDiagnostics from other events. This will
...
have potential uses later.
llvm-svn: 149960
2012-02-07 02:27:37 +00:00
Ted Kremenek
7d88ff436b
Tweak BugReporter extensive diagnostics to not add edges between function calls.
...
llvm-svn: 149959
2012-02-07 02:26:17 +00:00
Ted Kremenek
8ffd764702
Quote name of function in path diagnostics.
...
llvm-svn: 149958
2012-02-07 02:26:14 +00:00
Bill Wendling
c15a364cbf
Cache the sizes of vectors instead of calculating them all over the place.
...
llvm-svn: 149954
2012-02-07 01:48:12 +00:00
Kaelyn Uhrain
1c75d4084d
Remove the unused TypoCorrectionConsumer::MaxEditDistance.
...
MaxEditDistance was effectively unused as it being initialized to the max
unsigned valued but never updated. Removing it avoids conversion
headaches once the "edit distance" of a typo correction is a weighted
composite of several values instead of roughly the number of characters
changed; comparing the weighted composite value to the number of
characters in a typo would require some form of normalization to make it
comparable to the old, character-based notion of edit distance.
llvm-svn: 149953
2012-02-07 01:32:58 +00:00
Bill Wendling
3ae7dd377d
Reserve space in these vectors to prevent having to grow the array too
...
much. This gets us an addition 0.9% on 445.gobmk.
llvm-svn: 149952
2012-02-07 01:27:51 +00:00
Bob Wilson
7ecbd32e4e
Filter a few more options not recognized by gcc. <rdar://problem/10814020>
...
These are new options that gcc doesn't recognize so the clang driver needs
to remove them when it falls back to invoking gcc.
llvm-svn: 149951
2012-02-07 01:17:55 +00:00
Eli Friedman
96efec99eb
Add C11 FLT_TRUE_MIN and friends. <rdar://problem/10812837>.
...
llvm-svn: 149949
2012-02-07 01:02:19 +00:00
Anna Zaks
e0c7c27473
[analyzer] Allow each CString check to be enabled/disabled
...
separately.
llvm-svn: 149947
2012-02-07 00:56:14 +00:00
Bill Wendling
7ac747245f
Bump up the initial vector size to avoid having to grow the vector more often.
...
llvm-svn: 149945
2012-02-07 00:54:58 +00:00
Kostya Serebryany
614b53de1b
[asan] don't crash if /proc/self/maps has enormous size (linux)
...
llvm-svn: 149944
2012-02-07 00:47:35 +00:00
Chris Lattner
ece0409a1a
simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.
...
llvm-svn: 149943
2012-02-07 00:39:47 +00:00
Chris Lattner
8573dc7e1f
tidy up code, make the common case (1-byte strings) come first
...
llvm-svn: 149942
2012-02-07 00:39:21 +00:00
Derek Schuff
76b292f5ba
Fix win32 build breakage from bitcode streaming patch
...
llvm-svn: 149941
2012-02-07 00:28:46 +00:00
Kostya Serebryany
b5eb5a7a05
[asan] make sure the AsanThread object is destroyed if pthread_exit is called
...
llvm-svn: 149940
2012-02-07 00:27:15 +00:00
Ted Kremenek
a2bbac3ffc
Add basic BugReporter support for CallEnter/CallExit. WIP.
...
llvm-svn: 149939
2012-02-07 00:24:33 +00:00
Eli Friedman
dd053f6fba
Misc improvements to the diagnostic when a variable is odr-used in a context that is not allowed to capture variables.
...
Fixes PR11883.
llvm-svn: 149937
2012-02-07 00:15:00 +00:00
Bill Wendling
9972958a89
Use a more efficient container for these values. Also reserve space when using a
...
std::vector.
llvm-svn: 149936
2012-02-07 00:13:27 +00:00
Bill Wendling
1e375fa219
Use a SmallVector instead of std::vector. This improves compilation time in
...
445.gobmk by ~1.7%.
llvm-svn: 149935
2012-02-07 00:04:27 +00:00
Chad Rosier
685b20c114
[fast-isel] Add support for ADDs with non-legal types.
...
llvm-svn: 149934
2012-02-06 23:50:07 +00:00
Bill Wendling
bf21cacef1
Don't recalculate the size of the array each time through the for-loop.
...
llvm-svn: 149933
2012-02-06 23:46:08 +00:00
Andrew Trick
5470205ad2
This is a small patch with a couple of improvements for running lit with --debug:
...
1. Added a status note when a config file is loaded directly with load_config. This helps notice loads of lit.cfg from lit.site.cfg
2. Added a status note on the result of a config load. Previously, it was just notifying that it tries to load a config file. Now it will also say whether the load succeeded or the file wasn't found
The two changes give better visibility into which config files were actually loaded by lit. The effect is only on --debug runs.
Patch by Eli Bendersky!
llvm-svn: 149932
2012-02-06 23:34:52 +00:00
Eli Friedman
433aae6927
Minor comment clarification.
...
llvm-svn: 149931
2012-02-06 23:34:35 +00:00
Eli Friedman
5f0ca248ac
Fix a minor regression from my potentially-evaluated expression changes.
...
llvm-svn: 149930
2012-02-06 23:29:57 +00:00
Devang Patel
f93d0b8b28
Relax valid location check. This fixes a clang crash while emitting debug info for properties that are synthesized by the compiler by default.
...
llvm-svn: 149929
2012-02-06 23:24:13 +00:00
Chris Lattner
02cb1715ec
build wide strings with ConstantDataArray, just because we can.
...
llvm-svn: 149928
2012-02-06 22:52:04 +00:00
Andrew Trick
8e7b34c7fc
Expose TargetPassConfig to PEI Pass
...
llvm-svn: 149927
2012-02-06 22:51:18 +00:00
Andrew Trick
34914910f5
Add TargetPassConfig to the PassManager for use inside passes
...
llvm-svn: 149926
2012-02-06 22:51:15 +00:00
Kostya Serebryany
9e0d377400
The patch resolves the conflict between AddressSanitizer and load widening (GVN).
...
The problem initially reported by Mozilla folks (http://code.google.com/p/address-sanitizer/issues/detail?id=20 ),
but it also prevents us from enabling LLVM bootstrap with AddressSanitizer.
llvm-svn: 149925
2012-02-06 22:48:56 +00:00
Chris Lattner
00a10caeb6
improve the code that handles IR generation of byte-sized string literals to avoid
...
allocating an std::string.
llvm-svn: 149924
2012-02-06 22:47:00 +00:00
Abramo Bagnara
e0a70b2656
Added source location for the template keyword in DependentTemplateSpecializationTypeLoc nodes (DTSTLoc).
...
The new info is propagated to TSTLoc on template instantiation, getting rid of 3 FIXMEs in TreeTransform.h and another one Parser.cpp.
Simplified code in TypeSpecLocFiller visitor methods for DTSTLoc and DependentNameTypeLoc by removing what now seems to be dead code (adding corresponding assertions).
llvm-svn: 149923
2012-02-06 22:45:07 +00:00
Nick Lewycky
998bce0366
Fix comment-rulers.
...
llvm-svn: 149922
2012-02-06 22:41:47 +00:00
Jakob Stoklund Olesen
769de20ae9
Remove some unused functions.
...
LiveIntervalAnalysis has a number of functions that simply forward to
SlotIndexes. Since SlotIndexes is a stand-alone analysis now, clients
should really refer to it directly.
llvm-svn: 149921
2012-02-06 22:37:58 +00:00
Jakob Stoklund Olesen
537444ca37
Don't explicitly renumber slot indices.
...
We have automatic local renumbering now.
llvm-svn: 149920
2012-02-06 22:37:56 +00:00
Nick Lewycky
c1fc85a4ac
System headers after llvm headers.
...
llvm-svn: 149919
2012-02-06 22:36:39 +00:00
Derek Schuff
8b2dcad4b5
Enable streaming of bitcode
...
This CL delays reading of function bodies from initial parse until
materialization, allowing overlap of compilation with bitcode download.
llvm-svn: 149918
2012-02-06 22:30:29 +00:00
Johnny Chen
fe3bdad393
Add help string for 'frame variable' to link to 'watchpoint set' which allows for using an expression to specify the address to watch for.
...
rdar://problem/10703290
llvm-svn: 149917
2012-02-06 22:17:23 +00:00
Chris Lattner
3def9aeaff
use cheaper llvm APIs for various bits of IR generation.
...
llvm-svn: 149916
2012-02-06 22:16:34 +00:00
Chris Lattner
72977a18db
simplify code and smallvectorize.
...
llvm-svn: 149915
2012-02-06 22:00:56 +00:00
Bill Wendling
9228b3e37c
Document the 'unwind' removal.
...
llvm-svn: 149914
2012-02-06 21:59:44 +00:00
Bill Wendling
3f6a3a277c
[unwind removal] Remove any mention of the 'unwind' instruction. What was that
...
instruction anyway?!
llvm-svn: 149913
2012-02-06 21:57:33 +00:00