Chad Rosier [Wed, 13 Feb 2013 21:34:54 +0000 (21:34 +0000)]
[ms-inline asm] Add test case for r175083.
llvm-svn: 175084
Chad Rosier [Wed, 13 Feb 2013 21:33:44 +0000 (21:33 +0000)]
[ms-inline-asm] Add support for memory references that have non-immediate
displacements.
rdar://
12974533
llvm-svn: 175083
Chad Rosier [Wed, 13 Feb 2013 21:27:17 +0000 (21:27 +0000)]
[ms-inline asm] Add a comment about the determinism of the rewrite sort.
llvm-svn: 175082
Dmitri Gribenko [Wed, 13 Feb 2013 21:19:39 +0000 (21:19 +0000)]
configure: remove workaround for gcc's -Wno-maybe-uninitialized
Since r174770 gcc version check is not needed because CXX_FLAG_CHECK
implements the workaround itself.
llvm-svn: 175080
Richard Smith [Wed, 13 Feb 2013 21:18:23 +0000 (21:18 +0000)]
ubsan: Add checking for invalid downcasts. Per [expr.static.cast]p2 and p11,
base-to-derived casts have undefined behavior if the object is not actually an
instance of the derived type. Runtime library part.
llvm-svn: 175079
Richard Smith [Wed, 13 Feb 2013 21:18:23 +0000 (21:18 +0000)]
ubsan: Add checking for invalid downcasts. Per [expr.static.cast]p2 and p11,
base-to-derived casts have undefined behavior if the object is not actually an
instance of the derived type.
llvm-svn: 175078
Sean Silva [Wed, 13 Feb 2013 21:17:20 +0000 (21:17 +0000)]
[docs] PR15254: Add "AST" to the lexicon.
llvm-svn: 175077
Benjamin Kramer [Wed, 13 Feb 2013 21:12:29 +0000 (21:12 +0000)]
LoopVectorize: Simplify code for clarity.
No functionality change.
llvm-svn: 175076
Bill Wendling [Wed, 13 Feb 2013 21:10:15 +0000 (21:10 +0000)]
Add a blurb about the attributes changes to the release notes.
llvm-svn: 175075
Daniel Jasper [Wed, 13 Feb 2013 20:33:44 +0000 (20:33 +0000)]
Allow breaking after the return type in function declarations.
This has so far been disabled for Google style, but should be done
before breaking at nested name specifiers or in template parameters.
Before (in Google style):
template <typename T>
aaaaaaaa::aaaaa::aaaaaa<T,
aaaaaaaaaaaaaaaaaaaaaaaaa>
aaaaaaaaaaaaaaaaaaaaaaaa<
T>::aaaaaaa() {}
After:
template <typename T>
aaaaaaaa::aaaaa::aaaaaa<T,
aaaaaaaaaaaaaaaaaaaaaaaaa>
aaaaaaaaaaaaaaaaaaaaaaaa<T>::aaaaaaa() {}
llvm-svn: 175074
Reed Kotler [Wed, 13 Feb 2013 20:28:27 +0000 (20:28 +0000)]
For Mips 16, add the optimization where the 16 bit form of addiu sp can be used
if the offset fits in 11 bits. This makes use of the fact that the abi
requires sp to be 8 byte aligned so the actual offset can fit in 8
bits. It will be shifted left and sign extended before being actually used.
The assembler or direct object emitter will shift right the 11 bit
signed field by 3 bits. We don't need to deal with that here.
llvm-svn: 175073
Manman Ren [Wed, 13 Feb 2013 20:23:48 +0000 (20:23 +0000)]
Clean up LDV, no functionality change.
Remove dead functions: renameRegister
Move private member variables from LDV to Impl
Remove ssp/uwtable from testing case
llvm-svn: 175072
Andrew Kaylor [Wed, 13 Feb 2013 19:57:06 +0000 (19:57 +0000)]
Improved handling for DW_AT_const_value
llvm-svn: 175071
Bill Wendling [Wed, 13 Feb 2013 19:44:17 +0000 (19:44 +0000)]
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way.
llvm-svn: 175070
Bill Wendling [Wed, 13 Feb 2013 19:44:08 +0000 (19:44 +0000)]
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way.
llvm-svn: 175069
Daniel Jasper [Wed, 13 Feb 2013 19:25:54 +0000 (19:25 +0000)]
Fix comment alignment close to the column limit.
Due to an error in one of the expressions, we used to not align comments
although it would have been possible.
llvm-svn: 175068
Andrew Trick [Wed, 13 Feb 2013 19:22:27 +0000 (19:22 +0000)]
MIsched: HazardRecognizers are created for each DAG. Free them.
llvm-svn: 175067
David Peixotto [Wed, 13 Feb 2013 19:21:47 +0000 (19:21 +0000)]
PR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIA
Fixed bug in tablegen conversion when source pseudo instruction has
a different number of arguments than the destination instruction.
llvm-svn: 175066
Daniel Malea [Wed, 13 Feb 2013 18:56:41 +0000 (18:56 +0000)]
Skip tests that assert on Linux in RecordLayoutBuilder::updateExternalFieldOffset()
- Filed bugzilla PR-15256
llvm-svn: 175065
Daniel Malea [Wed, 13 Feb 2013 18:55:17 +0000 (18:55 +0000)]
Disable TestConditionalBreak.py due to Linux crash
- test was passing before r174793...
llvm-svn: 175064
Chad Rosier [Wed, 13 Feb 2013 18:38:58 +0000 (18:38 +0000)]
[ms-inline-asm] Use an array_pod_sort, rather than a std:sort.
llvm-svn: 175063
Argyrios Kyrtzidis [Wed, 13 Feb 2013 18:33:28 +0000 (18:33 +0000)]
[libclang] Fix annotation of a range where the begin or end location
is inside a macro argument.
Previously we would give up and not annotate anything in the range.
rdar://
11891550
llvm-svn: 175062
Greg Clayton [Wed, 13 Feb 2013 18:15:56 +0000 (18:15 +0000)]
Quiet "the missing case in switch statement" warnings from newer clang builds.
llvm-svn: 175061
Pekka Jaaskelainen [Wed, 13 Feb 2013 18:08:57 +0000 (18:08 +0000)]
Metadata for annotating loops as parallel. The first consumer for this
metadata is the loop vectorizer.
See the documentation update for more info.
llvm-svn: 175060
Alexander Potapenko [Wed, 13 Feb 2013 17:52:55 +0000 (17:52 +0000)]
[ASan] When re-executing the process on OS X, make sure we update the existing DYLD_INSERT_LIBRARIES correctly.
Previously ASan used to hang in an exec loop, because it failed to overwrite the env var value
(see https://code.google.com/p/address-sanitizer/issues/detail?id=159).
llvm-svn: 175059
Krzysztof Parzyszek [Wed, 13 Feb 2013 17:40:07 +0000 (17:40 +0000)]
Add registration for PPC-specific passes to allow the IR to be dumped
via -print-after-all.
llvm-svn: 175058
Benjamin Kramer [Wed, 13 Feb 2013 13:40:35 +0000 (13:40 +0000)]
X86: Disable generation of rep;movsl when %esi is used as a base pointer.
This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.
Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.
llvm-svn: 175057
Dmitry Vyukov [Wed, 13 Feb 2013 13:05:36 +0000 (13:05 +0000)]
tsan: do not imitate memory write on malloc() (Go)
better memory range access functions (put only 1 event to trace) (Go)
llvm-svn: 175056
Tim Northover [Wed, 13 Feb 2013 12:46:32 +0000 (12:46 +0000)]
Mention AArch64 in release notes for 3.3
llvm-svn: 175055
Timur Iskhodzhanov [Wed, 13 Feb 2013 12:24:19 +0000 (12:24 +0000)]
... and now fix the +Asserts build
llvm-svn: 175054
Timur Iskhodzhanov [Wed, 13 Feb 2013 12:14:25 +0000 (12:14 +0000)]
Fix the microsoft-abi-structors test expectations to match both Release and Release+Asserts builds
llvm-svn: 175053
Manuel Klimek [Wed, 13 Feb 2013 10:54:19 +0000 (10:54 +0000)]
Pull search state out as class members.
Fix some comments.
llvm-svn: 175052
Manuel Klimek [Wed, 13 Feb 2013 10:46:36 +0000 (10:46 +0000)]
An attempt to make the search algorithm easier to understand.
- clear ownership: the SpecificBumpPtrAllocator owns all StateNodes
- this allows us to simplify the memoization data structure into a
std::set (FIXME: figure out whether we want to use a hash based
data structure).
- introduces StateNode as recursive data structure, instead of using
Edge and the Seen-map combined to drill through the graph
- using a count to stabilize the penalty instead of relying on the
container
- pulled out a method to forward-apply states in the end
This leads to a ~40% runtime decrease on Nico's benchmark.
Main FiXME is that the parameter lists of some function get too long.
I'd vote for either pulling the Queue etc into the Formatter proper,
or creating an inner class just for the search algorithm.
llvm-svn: 175051
Evgeniy Stepanov [Wed, 13 Feb 2013 10:40:01 +0000 (10:40 +0000)]
Fix MSan annotations inclusion guard.
#cmakedefine does not behave the way I though it was.
llvm-svn: 175050
Kostya Serebryany [Wed, 13 Feb 2013 10:15:03 +0000 (10:15 +0000)]
[asan] fix fixed mapping for mac (ASAN_FLEXIBLE_MAPPING_AND_OFFSET=0)
llvm-svn: 175049
Bill Wendling [Wed, 13 Feb 2013 09:26:26 +0000 (09:26 +0000)]
Use array_pod_sort.
llvm-svn: 175048
Manuel Klimek [Wed, 13 Feb 2013 09:07:18 +0000 (09:07 +0000)]
Update phab docs to clarify how to accept a change.
llvm-svn: 175047
Bill Wendling [Wed, 13 Feb 2013 08:42:21 +0000 (08:42 +0000)]
Add some accessor and query methods for retrieving Attribute objects and such.
llvm-svn: 175046
Timur Iskhodzhanov [Wed, 13 Feb 2013 08:37:51 +0000 (08:37 +0000)]
Emit virtual/deleting destructors properly with -cxx-abi microsoft, PR15058
llvm-svn: 175045
Reed Kotler [Wed, 13 Feb 2013 08:32:14 +0000 (08:32 +0000)]
Make jumptables work for -static
llvm-svn: 175044
Elena Demikhovsky [Wed, 13 Feb 2013 08:02:04 +0000 (08:02 +0000)]
Prevent insertion of "vzeroupper" before call that preserves YMM registers, since a caller uses preserved registers across the call.
llvm-svn: 175043
Craig Topper [Wed, 13 Feb 2013 07:44:17 +0000 (07:44 +0000)]
Remove unnecessary condtional assignment. The next line ignores the result of the assignment with the same condition.
llvm-svn: 175042
Eric Christopher [Wed, 13 Feb 2013 07:22:25 +0000 (07:22 +0000)]
This is actually located at the end, not the middle.
llvm-svn: 175041
Kostya Serebryany [Wed, 13 Feb 2013 07:19:47 +0000 (07:19 +0000)]
[msan] don't check shadow inside interceptors if we are inside symbolizer; add weak function __msan_default_options that overrides default options
llvm-svn: 175040
Shankar Easwaran [Wed, 13 Feb 2013 06:35:33 +0000 (06:35 +0000)]
fix the mergeable string atom, when the target points to a symbol which is at a relative offset from the start of the .rodata section
llvm-svn: 175039
Shankar Easwaran [Wed, 13 Feb 2013 06:12:52 +0000 (06:12 +0000)]
add merge strings option, this temporarily fixes the problem bringing up helloworld with glibc on x86_64
llvm-svn: 175038
Kostya Serebryany [Wed, 13 Feb 2013 06:07:50 +0000 (06:07 +0000)]
[tsan] simplify tsan-vs-gvn test since gvn vs tsan is now fixed; fix lint
llvm-svn: 175037
Eric Christopher [Wed, 13 Feb 2013 06:01:05 +0000 (06:01 +0000)]
Check i1 as well as i8 variables for 8 bit registers for x86 inline
assembly.
llvm-svn: 175036
Eric Christopher [Wed, 13 Feb 2013 06:01:00 +0000 (06:01 +0000)]
Finish obviously broken thought.
llvm-svn: 175035
Kostya Serebryany [Wed, 13 Feb 2013 05:59:45 +0000 (05:59 +0000)]
[tsan] disable load widening in ThreadSanitizer mode
llvm-svn: 175034
Kostya Serebryany [Wed, 13 Feb 2013 05:14:12 +0000 (05:14 +0000)]
[asan] fix confusing indentation
llvm-svn: 175033
Chris Lattner [Wed, 13 Feb 2013 04:53:40 +0000 (04:53 +0000)]
use memcpy instead of dubious union to type pun two values,
thanks to David Blaike for pointing this out.
llvm-svn: 175032
Nico Weber [Wed, 13 Feb 2013 04:40:03 +0000 (04:40 +0000)]
Formatter: And more cast tests (these don't pass yet).
llvm-svn: 175031
Nico Weber [Wed, 13 Feb 2013 04:32:57 +0000 (04:32 +0000)]
Formatter: Add more cast tests.
llvm-svn: 175030
Nico Weber [Wed, 13 Feb 2013 04:13:13 +0000 (04:13 +0000)]
Formatter: Refactor the cast detection code to be a bit more readable.
No functionality change. Also add another cast test.
llvm-svn: 175029
Nico Weber [Wed, 13 Feb 2013 03:48:27 +0000 (03:48 +0000)]
Formatter: Detect ObjC method expressions after casts.
Not all casts are correctly detected yet, but it helps in some cases.
llvm-svn: 175028
Nick Lewycky [Wed, 13 Feb 2013 03:34:21 +0000 (03:34 +0000)]
Change this comment to helpfully explain why it's there.
llvm-svn: 175027
Jordan Rose [Wed, 13 Feb 2013 03:11:06 +0000 (03:11 +0000)]
[analyzer] Use Clang's evaluation for global constants and default arguments.
Previously, we were handling only simple integer constants for globals and
the smattering of implicitly-valued expressions handled by Environment for
default arguments. Now, we can use any integer constant expression that
Clang can evaluate, in addition to everything we handled before.
PR15094 / <rdar://problem/
12830437>
llvm-svn: 175026
Jordan Rose [Wed, 13 Feb 2013 03:11:01 +0000 (03:11 +0000)]
[analyzer] Use makeZeroVal in RegionStore's lazy evaluation of statics.
No functionality change.
llvm-svn: 175025
Eric Christopher [Wed, 13 Feb 2013 02:29:18 +0000 (02:29 +0000)]
Fix comment.
llvm-svn: 175024
Manman Ren [Wed, 13 Feb 2013 01:14:49 +0000 (01:14 +0000)]
Debug Info: LiveDebugVarible can remove DBG_VALUEs, make sure we emit them back.
RegisterCoalescer used to depend on LiveDebugVariable. LDV removes DBG_VALUEs
without emitting them at the end.
We fix this by removing LDV from RegisterCoalescer. Also add an assertion to
make sure we call emitDebugValues if DBG_VALUEs are removed at
runOnMachineFunction.
rdar://problem/
13183203
Reviewed by Andy & Jakob
llvm-svn: 175023
Chad Rosier [Wed, 13 Feb 2013 01:06:08 +0000 (01:06 +0000)]
[ms-inline-asm] Test cases to ensure the AsmRewrite list is sorted (r175021).
Part of rdar://
13202662
llvm-svn: 175022
Chad Rosier [Wed, 13 Feb 2013 01:03:13 +0000 (01:03 +0000)]
[ms-inline-asm] Make sure the AsmRewrite list is sorted in lexical order.
rdar://
13202662
llvm-svn: 175021
David Peixotto [Wed, 13 Feb 2013 00:36:35 +0000 (00:36 +0000)]
Test commit. Fixed typo.
llvm-svn: 175020
Arnaud A. de Grandmaison [Wed, 13 Feb 2013 00:19:19 +0000 (00:19 +0000)]
Fix comment
visitSExt is an adapted copy of the related visitZExt method, so adapt the comment accordingly.
llvm-svn: 175019
Douglas Gregor [Tue, 12 Feb 2013 23:36:21 +0000 (23:36 +0000)]
Order the methods in the global method pool based on when they become visible, not when they become deserialized <rdar://problem/
13203033>.
llvm-svn: 175018
Michael Gottesman [Tue, 12 Feb 2013 23:35:08 +0000 (23:35 +0000)]
Changed isStoredObjCPointer => IsStoredObjCPointer. No functionality change.
llvm-svn: 175017
Bill Wendling [Tue, 12 Feb 2013 23:14:31 +0000 (23:14 +0000)]
Add a default empty string to the 'value' of a string attribute.
llvm-svn: 175016
Dmitri Gribenko [Tue, 12 Feb 2013 22:40:22 +0000 (22:40 +0000)]
Replace 'signed' with 'int'. 'signed' is not typical for LLVM style
llvm-svn: 175015
Dan Gohman [Tue, 12 Feb 2013 22:26:41 +0000 (22:26 +0000)]
Actually delete this code, since it's really not clear what it's
trying to do.
llvm-svn: 175014
Richard Smith [Tue, 12 Feb 2013 22:12:10 +0000 (22:12 +0000)]
Highlight caret in bold green, to match Clang diagnostics.
llvm-svn: 175013
Tobias Grosser [Tue, 12 Feb 2013 22:05:48 +0000 (22:05 +0000)]
clang-format a file
llvm-svn: 175012
Tobias Grosser [Tue, 12 Feb 2013 22:05:43 +0000 (22:05 +0000)]
Use documented isl function
llvm-svn: 175011
Argyrios Kyrtzidis [Tue, 12 Feb 2013 21:41:23 +0000 (21:41 +0000)]
[preprocessing record] Add some sanity checks for the preprocessed entity index
to make sure we don't crash on release if the index is not valid.
rdar://
13089714
llvm-svn: 175010
Chad Rosier [Tue, 12 Feb 2013 21:34:14 +0000 (21:34 +0000)]
[ms-inline-asm] Add test cases for the align/emit directives.
Part of rdar://
13200215
llvm-svn: 175009
Chad Rosier [Tue, 12 Feb 2013 21:33:51 +0000 (21:33 +0000)]
[ms-inline-asm] Implement align directive (which is roughly equivalent to .align).
Also, allow _EMIT and __EMIT for the emit directive. We already do the same
for TYPE, SIZE, and LENGTH.
rdar://
13200215
llvm-svn: 175008
Jack Carter [Tue, 12 Feb 2013 21:29:39 +0000 (21:29 +0000)]
This patch just fixes up various llvm formatting
violations such as tabs, blanks at eol and long
lines.
llvm-svn: 175007
Guy Benyei [Tue, 12 Feb 2013 21:21:59 +0000 (21:21 +0000)]
Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration.
llvm-svn: 175006
Dmitri Gribenko [Tue, 12 Feb 2013 20:43:41 +0000 (20:43 +0000)]
Add a test for r174980, that we used to accept
llvm-svn: 175005
Daniel Jasper [Tue, 12 Feb 2013 20:17:17 +0000 (20:17 +0000)]
Fix crash for incomplete labels in macros.
Still the formatting can be improved, but at least we don't assert any
more. This happened when trying to format lib/Sema/SemaType.cpp.
llvm-svn: 175003
Daniel Malea [Tue, 12 Feb 2013 20:01:49 +0000 (20:01 +0000)]
Fix document typos, indentation in python code, and API examples.
Patch by Bruce Mitchener!
llvm-svn: 175002
Dan Gohman [Tue, 12 Feb 2013 19:49:10 +0000 (19:49 +0000)]
Record PRE predecessors with a SmallVector instead of a DenseMap, and
avoid a second pred_iterator traversal.
llvm-svn: 175001
Chad Rosier [Tue, 12 Feb 2013 19:42:57 +0000 (19:42 +0000)]
[ms-inline asm] Update test case now that we are correctly parsing __emit directives.
llvm-svn: 175000
Chad Rosier [Tue, 12 Feb 2013 19:42:32 +0000 (19:42 +0000)]
[ms-inline asm] Pass the length of the IDVal, so we can do a proper AsmRewrite.
llvm-svn: 174999
Chad Rosier [Tue, 12 Feb 2013 19:31:23 +0000 (19:31 +0000)]
[ms-inline asm] Accept the emit directive as either _emit or __emit.
llvm-svn: 174998
Daniel Dunbar [Tue, 12 Feb 2013 19:28:51 +0000 (19:28 +0000)]
[tests] Add support for a link_flags lit parameter.
- This is useful for testing with custom ABI libraries.
- Patch by Michael van der Westhuizen.
llvm-svn: 174997
Aaron Ballman [Tue, 12 Feb 2013 19:20:48 +0000 (19:20 +0000)]
Fixing the MSVC compiler warning a different way; removed use of static_cast and instead used a signed integer parameter.
llvm-svn: 174996
Chad Rosier [Tue, 12 Feb 2013 19:15:05 +0000 (19:15 +0000)]
Typo.
llvm-svn: 174995
Dan Gohman [Tue, 12 Feb 2013 19:05:10 +0000 (19:05 +0000)]
When disabling PRE for a value is directly redundant with itself
(through a loop), don't continue to iterate through the reamining
predecessors.
llvm-svn: 174994
Greg Clayton [Tue, 12 Feb 2013 18:54:34 +0000 (18:54 +0000)]
Added new "env" regular expression alias into the evironment settings section of the GDB/LLDB commands.
llvm-svn: 174993
Krzysztof Parzyszek [Tue, 12 Feb 2013 18:53:21 +0000 (18:53 +0000)]
Remove target-specific info from the testcase for DWARF/pubnames.
llvm-svn: 174992
Greg Clayton [Tue, 12 Feb 2013 18:52:24 +0000 (18:52 +0000)]
<rdar://problem/
13178743>
Added a new "env" regular expression alias. If "env" is typed on its own "settings show target.env-vars" will be run. Otherwise it can be used to set and environment variable: "env FOO=BAR".
llvm-svn: 174991
Shankar Easwaran [Tue, 12 Feb 2013 18:46:53 +0000 (18:46 +0000)]
add support for merging common strings
llvm-svn: 174990
Chad Rosier [Tue, 12 Feb 2013 18:45:21 +0000 (18:45 +0000)]
[ms-inline asm] Add a few test cases for the parsing of hexidecimal integers.
llvm-svn: 174989
Dan Gohman [Tue, 12 Feb 2013 18:44:43 +0000 (18:44 +0000)]
Check that pointers are removed from maps before calling delete on the pointers,
for tidiness' sake.
llvm-svn: 174988
Greg Clayton [Tue, 12 Feb 2013 18:42:05 +0000 (18:42 +0000)]
<rdar://problem/
13184389>
_regexp-list needs to treat "list -" as "source list -r"
llvm-svn: 174987
Aaron Ballman [Tue, 12 Feb 2013 18:39:15 +0000 (18:39 +0000)]
Removing a signed/unsigned mismatch warning triggered in MSVC 11.
llvm-svn: 174986
Dan Gohman [Tue, 12 Feb 2013 18:38:36 +0000 (18:38 +0000)]
Minor code simplification.
llvm-svn: 174985
Matt Kopec [Tue, 12 Feb 2013 18:30:30 +0000 (18:30 +0000)]
Fix ELF parsing where undefined symbols were being added to the symbol table with the incorrect symbol type.
llvm-svn: 174984
Chad Rosier [Tue, 12 Feb 2013 18:29:02 +0000 (18:29 +0000)]
[ms-inline asm] Add support for lexing binary integers with a [bB] suffix.
This is complicated by backward labels (e.g., 0b can be both a backward label
and a binary zero). The current implementation assumes [0-9]b is always a
label and thus it's possible for 0b and 1b to not be interpreted correctly for
ms-style inline assembly. However, this is relatively simple to fix in the
inline assembly (i.e., drop the [bB]).
This patch also limits backward labels to [0-9]b, so that only 0b and 1b are
ambiguous.
Part of rdar://
12470373
llvm-svn: 174983