Andrew Trick [Fri, 8 Mar 2013 05:40:34 +0000 (05:40 +0000)]
Add -verify-misched option.
This verifies live intervals both before and after scheduling. It's
useful for anyone hacking on live interval update.
Note that we don't yet pass verification all the time. We don't yet
handle updating nonallocatable live intervals perfectly.
llvm-svn: 176685
Jason Molenda [Fri, 8 Mar 2013 04:33:44 +0000 (04:33 +0000)]
Update PlatformDarwin to understand how armv7m / armv7em relate
to the other armv7 types as far as compatibility/interchangability
goes.
<rdar://problem/
13361372>
llvm-svn: 176684
Greg Clayton [Fri, 8 Mar 2013 02:42:06 +0000 (02:42 +0000)]
<rdar://problem/
13374267>
Fixed error where objective C methods with selectors names starting with ".cxx_" where causing errors for ARC built binaries.
llvm-svn: 176683
Argyrios Kyrtzidis [Fri, 8 Mar 2013 02:32:34 +0000 (02:32 +0000)]
[libclang] Introduce clang_findIncludesInFile, that can be used to retrieve all #import/#include directives in a specific file.
It passes to the visitor, that the caller provides, CXCursor_InclusionDirective cursors for
all the include directives in a particular file.
llvm-svn: 176682
Argyrios Kyrtzidis [Fri, 8 Mar 2013 02:32:29 +0000 (02:32 +0000)]
[libclang] When calling the function of CXCursorAndRangeVisitor, don't forget to
stop visitation if it returns CXVisit_Break.
llvm-svn: 176681
Argyrios Kyrtzidis [Fri, 8 Mar 2013 02:32:26 +0000 (02:32 +0000)]
[libclang] Add Logger::operator<< overloads for CXCursor and FileEntry.
llvm-svn: 176680
David Blaikie [Fri, 8 Mar 2013 02:27:40 +0000 (02:27 +0000)]
Another test fix for r176671.
llvm-svn: 176679
David Blaikie [Fri, 8 Mar 2013 02:26:16 +0000 (02:26 +0000)]
Couple of test fixes for r176671.
Not sure why these aren't failing on my linux machine, but this should cover
it.
llvm-svn: 176678
Bill Wendling [Fri, 8 Mar 2013 02:21:08 +0000 (02:21 +0000)]
Revert r176154 in favor of a better approach.
Code generation makes some basic assumptions about the IR it's been given. In
particular, if there is only one 'invoke' in the function, then that invoke
won't be going away. However, with the advent of the `llvm.donothing' intrinsic,
those invokes may go away. If all of them go away, the landing pad no longer has
any users. This confuses the back-end, which asserts.
This happens with SjLj exceptions, because that's the model that modifies the IR
based on there being invokes, etc. in the function.
Remove any invokes of `llvm.donothing' during SjLj EH preparation. This will
give us a CFG that the back-end won't be confused about. If all of the invokes
in a function are removed, then the SjLj EH prepare pass won't insert the bogus
code the relies upon the invokes being there.
<rdar://problem/
13228754&
13316637>
llvm-svn: 176677
Greg Clayton [Fri, 8 Mar 2013 01:37:30 +0000 (01:37 +0000)]
<rdar://problem/
13119621>
Make dynamic type detection faster by using the AST metadata to help out and allow us not to complete types when we don't need to.
After running "purge" on a MacOSX system, the Xcode variables view now populates more than 3x faster with this fix.
llvm-svn: 176676
Chris Lattner [Fri, 8 Mar 2013 01:26:10 +0000 (01:26 +0000)]
remove an ancient and quaint bit of commented out makefile goo from when
GCC was the system compiler on the mac.
llvm-svn: 176675
Jason Molenda [Fri, 8 Mar 2013 01:20:17 +0000 (01:20 +0000)]
Add recognition of two more armv7 variants, armv7m and armv7em.
<rdar://problem/
13361372>
llvm-svn: 176674
Jim Ingham [Fri, 8 Mar 2013 00:31:40 +0000 (00:31 +0000)]
Add a comment to break disable's help to make clearer the relationship between the
enable/disable state of a breakpoint, and of its locations.
llvm-svn: 176672
David Blaikie [Fri, 8 Mar 2013 00:23:31 +0000 (00:23 +0000)]
Upgrade tests to the latest debug info format.
Mostly this is just changing the named metadata (llvm.dbg.sp, llvm.dbg.gv,
llvm.dbg.<func>.lv, etc -> llvm.dbg.cu), adding a few fields to older records
(DIVariable: flags/inlined-at, DICompileUnit: sp/gv/types,
DISubprogram: local variables list)
The tests to update were discovered by a change I'm working on to remove debug
info version support - so any tests using old debug info versions I haven't
updated probably are bad tests or just not actually designed to test debug
info.
llvm-svn: 176671
Chad Rosier [Fri, 8 Mar 2013 00:05:21 +0000 (00:05 +0000)]
[driver] If we're just linking, don't report --param X as unused option.
PR15327
rdar://
13372628
llvm-svn: 176670
Jakob Stoklund Olesen [Thu, 7 Mar 2013 23:55:51 +0000 (23:55 +0000)]
Add a getPassName() method.
llvm-svn: 176669
Jakob Stoklund Olesen [Thu, 7 Mar 2013 23:55:49 +0000 (23:55 +0000)]
Rename isEarlierInSameTrace to isUsefulDominator.
In very rare cases caused by irreducible control flow, the dominating
block can have the same trace head without actually being part of the
trace.
As long as such a dominator still has valid instruction depths, it is OK
to use it for computing instruction depths.
Rename the function to avoid lying, and add a check that instruction
depths are computed for the dominator.
llvm-svn: 176668
Fariborz Jahanian [Thu, 7 Mar 2013 23:33:11 +0000 (23:33 +0000)]
HeaderDoc: Support more of HeaderDoc documentation
commands; top level tags such as @interface and
their 2nd level tags such as @coclass, etc.
// rdar://
12379114
llvm-svn: 176667
Douglas Gregor [Thu, 7 Mar 2013 23:26:24 +0000 (23:26 +0000)]
Add code completion for @import <rdar://problem/
13344306>.
llvm-svn: 176666
Douglas Gregor [Thu, 7 Mar 2013 22:57:58 +0000 (22:57 +0000)]
Improve LLDB's implicit cast-to-id to work with C++11 auto and any Objective-C object type <rdar://problem/
13338107>.
llvm-svn: 176665
Jason Molenda [Thu, 7 Mar 2013 22:44:42 +0000 (22:44 +0000)]
Typeo in warning message.
llvm-svn: 176664
Douglas Gregor [Thu, 7 Mar 2013 22:38:24 +0000 (22:38 +0000)]
When possible, move __block variables to the heap rather than copying them.
Fixes <rdar://problem/
13330126>.
llvm-svn: 176663
Sean Callanan [Thu, 7 Mar 2013 22:29:06 +0000 (22:29 +0000)]
Updated Apple LLDB version to lldb-300.99.0. Also
updated the build system to support the new Apple
LLDB versioning scheme.
llvm-svn: 176662
Jakub Staszak [Thu, 7 Mar 2013 22:20:06 +0000 (22:20 +0000)]
Keep coding stanard.
llvm-svn: 176661
Jakub Staszak [Thu, 7 Mar 2013 22:10:33 +0000 (22:10 +0000)]
Don't create IRBuilder if we can return from the method earlier.
llvm-svn: 176660
Chad Rosier [Thu, 7 Mar 2013 21:38:33 +0000 (21:38 +0000)]
[fast-isel] Seriously, add support for the expect intrinsic.
rdar://
13370942
llvm-svn: 176659
John McCall [Thu, 7 Mar 2013 21:37:17 +0000 (21:37 +0000)]
Promote atomic type sizes up to a power of two, capped by
MaxAtomicPromoteWidth. Fix a ton of terrible bugs with
_Atomic types and (non-intrinsic-mediated) loads and stores
thereto.
llvm-svn: 176658
John McCall [Thu, 7 Mar 2013 21:37:12 +0000 (21:37 +0000)]
Move the atomics code into its own file.
llvm-svn: 176657
John McCall [Thu, 7 Mar 2013 21:37:08 +0000 (21:37 +0000)]
Change hasAggregateLLVMType, which conflates complex and
aggregate types in a profoundly wrong way that has to be
worked around in every call site, to getEvaluationKind,
which classifies and distinguishes between all of these
cases.
Also, normalize the API for loading and storing complexes.
I'm working on a larger patch and wanted to pull these
changes out, but it would have be annoying to detangle
them from each other.
llvm-svn: 176656
John McCall [Thu, 7 Mar 2013 21:37:02 +0000 (21:37 +0000)]
Add CharUnits::alignmentAtOffset.
llvm-svn: 176655
John McCall [Thu, 7 Mar 2013 21:36:54 +0000 (21:36 +0000)]
Evaluate compound literals directly into the result aggregate
when that aggregate isn't potentially aliased.
llvm-svn: 176654
Benjamin Kramer [Thu, 7 Mar 2013 21:18:31 +0000 (21:18 +0000)]
Remove temporary std::vectors that ca be replaced with ArrayRef's magic.
llvm-svn: 176653
Benjamin Kramer [Thu, 7 Mar 2013 20:56:18 +0000 (20:56 +0000)]
Fix tautological compare. Not sure why this didn't trigger any test failures.
llvm-svn: 176652
Benjamin Kramer [Thu, 7 Mar 2013 20:53:34 +0000 (20:53 +0000)]
Replace temporary vectors with arrays.
llvm-svn: 176651
Daniel Jasper [Thu, 7 Mar 2013 20:50:00 +0000 (20:50 +0000)]
Remove unncessary whitespace when triggered on empty line.
With the cursor located at "I", clang-format would not do anything to:
int a;
I
int b;
With this patch, it reduces the number of empty lines as necessary, and
removes unnecessary whitespace. It does not change/reformat "int a;" or
"int b;".
llvm-svn: 176650
Chad Rosier [Thu, 7 Mar 2013 20:42:17 +0000 (20:42 +0000)]
[fast-isel] Add support for the expect intrinsic.
rdar://
13370942
llvm-svn: 176649
Benjamin Kramer [Thu, 7 Mar 2013 20:33:29 +0000 (20:33 +0000)]
ArrayRefize some code. No functionality change.
llvm-svn: 176648
Jyotsna Verma [Thu, 7 Mar 2013 20:28:34 +0000 (20:28 +0000)]
Hexagon: Handle i8, i16 and i1 Var Args.
llvm-svn: 176647
Jakub Staszak [Thu, 7 Mar 2013 20:22:39 +0000 (20:22 +0000)]
Simplify code. No functionality change.
llvm-svn: 176646
Jakub Staszak [Thu, 7 Mar 2013 20:21:27 +0000 (20:21 +0000)]
Change Index type from unsigned long to unsigned. This should fix PR14980.
llvm-svn: 176645
Daniel Malea [Thu, 7 Mar 2013 20:13:11 +0000 (20:13 +0000)]
Fix enum_types test on Linux
- Required flag "-std=c++11" needs to be set before including Makefile.rules
llvm-svn: 176644
Jakub Staszak [Thu, 7 Mar 2013 20:04:17 +0000 (20:04 +0000)]
Remove trailing spaces.
llvm-svn: 176643
Jakub Staszak [Thu, 7 Mar 2013 20:01:47 +0000 (20:01 +0000)]
Change NULL to 0.
llvm-svn: 176642
Jakub Staszak [Thu, 7 Mar 2013 20:01:19 +0000 (20:01 +0000)]
ArrayRef ca accept one element. Simplify code a little bit, also it matches now
coding in the other places of the file.
llvm-svn: 176641
Howard Hinnant [Thu, 7 Mar 2013 19:38:08 +0000 (19:38 +0000)]
Albert Wong: definition for regex_traits<_CharT>::__regex_word.
llvm-svn: 176640
Howard Hinnant [Thu, 7 Mar 2013 19:25:03 +0000 (19:25 +0000)]
Change _LIBCPP_TYPE_VIS to use __type_visibility__(default) instead of __visibility__(default) when available. This change makes just the type_info visible so that types like vectors and strings can be used as exception objects across dylib boundaries even when hidden visibility is specified globally (at the command line), and yet this allows clients to hide the member functions of things like vector and string (with global visibility commands).
llvm-svn: 176639
Andrew Trick [Thu, 7 Mar 2013 19:21:08 +0000 (19:21 +0000)]
pre-RA-sched debug-only fix
llvm-svn: 176638
Jyotsna Verma [Thu, 7 Mar 2013 19:10:28 +0000 (19:10 +0000)]
Hexagon: Add support to lower block address.
llvm-svn: 176637
Andrew Trick [Thu, 7 Mar 2013 19:07:57 +0000 (19:07 +0000)]
pre-RA-sched assertion fix. This bug was exposed by r176037.
rdar:
13370002 [pre-RA-sched] assertion: released too many times
I tracked this down to an earlier hack that is no longer applicable
and interfered with normal scheduler logic. With the changes in
r176037, it was causing an instruction to be scheduled multiple times.
I have an external test case that I tried hard to reduce and
failed. I can't even reproduce with llc.
llvm-svn: 176636
Benjamin Kramer [Thu, 7 Mar 2013 18:51:02 +0000 (18:51 +0000)]
Move testcase, this is testing extraction not inserting.
llvm-svn: 176635
Benjamin Kramer [Thu, 7 Mar 2013 18:48:40 +0000 (18:48 +0000)]
X86: Fold EXTRACT_SUBVECTORs of a BUILD_VECTOR into a smaller BUILD_VECTOR.
That can usually be lowered efficiently and is common in sandybridge code.
It would be nice to do this in DAGCombiner but we can't insert arbitrary
BUILD_VECTORs this late.
Fixes PR15462.
llvm-svn: 176634
Daniel Malea [Thu, 7 Mar 2013 18:39:26 +0000 (18:39 +0000)]
Fix issue that causes linux buildbots to ignore errors
- change string "ERROR" to "FAIL" to match clang lit test results
Also, make LLDB tests work on machines that do not have svn and/or git installed
llvm-svn: 176633
Pekka Jaaskelainen [Thu, 7 Mar 2013 16:46:43 +0000 (16:46 +0000)]
Fixed a crash when cloning a function into a function with
different size argument list and without attributes in the
arguments.
llvm-svn: 176632
Edwin Vane [Thu, 7 Mar 2013 16:22:05 +0000 (16:22 +0000)]
Have LoopConvert use 'auto &&' where necessary
For iterators where the dereference operator returns by value, LoopConvert
should use 'auto &&' in the range-based for loop expression.
If the dereference operator returns an rvalue reference, this is deemed too
strange and the for loop is not converted.
Moved test case from iterator_failing.cpp to iterator.cpp and added extra
tests.
Fixes PR15437.
Reviewer: gribozavr
llvm-svn: 176631
Edwin Vane [Thu, 7 Mar 2013 15:44:40 +0000 (15:44 +0000)]
Adding lvalue and rvalue reference type matchers
Updated docs and tests.
Reviewers: klimek, gribozavr
llvm-svn: 176630
Guy Benyei [Thu, 7 Mar 2013 13:06:10 +0000 (13:06 +0000)]
Add 'e' to the SPIR data layout - SPIR is little endian for now.
Add 32/64 bit specific target defines for SPIR.
llvm-svn: 176629
Matthew Curtis [Thu, 7 Mar 2013 12:32:26 +0000 (12:32 +0000)]
Minor refactor of how we get compilation phases.
There is now a single function to get the list of phases for a given
output Type.
No functionality change intended.
llvm-svn: 176628
Chandler Carruth [Thu, 7 Mar 2013 10:09:47 +0000 (10:09 +0000)]
Switch from autogenerating tests to using the preprocessor.
NOTE: You may need to run 'make clean' or 'ninja -t clean' etc!!! This
is due to really nasty bug/interactions between
CMake/configure/make/Ninja/LIT...
This commit tries to back out the support for generating test cases as
part of the build system due to the issues I brought up in post-commit
review:
1) It adds a *lot* of complexity and fragility to the build system. See
the number of commits required to try to get all the bots happy.
2) It isn't really necessary -- we can already run scripts to generate
things with the RUN lines of a test.
3) It makes the tests somewhat harder to debug as they cross between
more domains.
4) In almost all cases it isn't really needed or it can be done directly
using the preprocessor.
I should have been more proactive reviewing this, and I'm really sorry
about the churn here. =/ To help keep track of what commits are going
where, this backs out most of the non-test-changes from these revisions:
r176397
r176373
r176293
r176184
r175744
r175624
r175545
r175544
There were several trivial or cleanup changes to the lit files or other
files. Some of these looked ok, but I didn't try to tease them apart...
Edwin, if you know what to look for, please carry on with the cleanups
there, and sorry for hosing stuff here but I'm not much of a Python
person, and so I was erring on the side of cautiously backing out the
change.
I've tried to preserve the test changes everywhere I could, but review
is appreciated here in case I missed some.
I then re-wrote the tests to use the preprocessor rather than python to
expand to the various bits of code. The nicest part of this is that now
all the files are just C++ code. They edit and behave like C++ code,
etc. RUN lines with different -D flags are used to run the same test
over multiple different configurations, and includes bracketed in
special defines are used to flesh out a collection of standard interface
stubs to test interactions between pieces. These probably aren't perfect
yet, but I think its an improvement (at least in terms of build system
complexity) and will hopefully be a useful demonstration of the
technique I prefer for these types of tests.
llvm-svn: 176627
Christian Konig [Thu, 7 Mar 2013 09:04:14 +0000 (09:04 +0000)]
R600/SI: rework input interpolation v2
v2: update CMakeLists.txt as well
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176626
Christian Konig [Thu, 7 Mar 2013 09:04:04 +0000 (09:04 +0000)]
R600/SI: remove SI_vs_load_buffer_index
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176625
Christian Konig [Thu, 7 Mar 2013 09:03:59 +0000 (09:03 +0000)]
R600/SI: remove SGPR address space v2
v2: fix R600 regressions
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176624
Christian Konig [Thu, 7 Mar 2013 09:03:52 +0000 (09:03 +0000)]
R600/SI: add proper formal parameter handling for SI
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176623
Christian Konig [Thu, 7 Mar 2013 09:03:46 +0000 (09:03 +0000)]
R600/SI: remove shader type intrinsic
Just encode the type as target specific attribute.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176622
Christian Konig [Thu, 7 Mar 2013 09:03:38 +0000 (09:03 +0000)]
R600/SI: switch types of SGPRs to v*i8
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176621
Christian Konig [Thu, 7 Mar 2013 09:03:30 +0000 (09:03 +0000)]
R600/SI: fix unused variable warning
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176620
Nick Lewycky [Thu, 7 Mar 2013 08:42:27 +0000 (08:42 +0000)]
Fix build with clang, this was supposed to be part of r176617.
llvm-svn: 176619
Nick Lewycky [Thu, 7 Mar 2013 08:28:54 +0000 (08:28 +0000)]
Take the GCDA version string as an input to llvm_gcda_start_file.
llvm-svn: 176618
Nick Lewycky [Thu, 7 Mar 2013 08:28:53 +0000 (08:28 +0000)]
Add flags for additional control over coverage generation. Pick the version
string to be emitted, and two properties about the files themselves.
Use $PWD to absolut-ify the path to the coverage file. Yes, this is what GCC
does. Reverts my own r175706.
llvm-svn: 176617
Nick Lewycky [Thu, 7 Mar 2013 08:28:49 +0000 (08:28 +0000)]
Switch from a version 4.2/4.4 switch to a four-byte version string to be put
into the actual gcov file.
Instead of using the bottom 4 bytes as the function identifier, use a counter.
This makes the identifier numbers stable across multiple runs.
llvm-svn: 176616
Nadav Rotem [Thu, 7 Mar 2013 06:34:49 +0000 (06:34 +0000)]
No need to go through int64 and APInt when generating a new constant.
llvm-svn: 176615
Jim Grosbach [Thu, 7 Mar 2013 05:47:54 +0000 (05:47 +0000)]
SDAG: Handle scalarizing an extend of a <1 x iN> vector.
Just scalarize the element and rebuild a vector of the result type
from that.
rdar://
13281568
llvm-svn: 176614
Greg Clayton [Thu, 7 Mar 2013 03:25:11 +0000 (03:25 +0000)]
Added new properties to lldb.SBModule classes:
"compile_units" returns an array of all compile units in a module as a list() of lldb.SBCompileUnit objects.
"compile_unit" returns a compile unit accessor object that allows indexed access, search by full or partial path, or by regex:
(lldb) script
comp_unit = lldb.target.module['TextEdit'].compile_unit['Document.m']
comp_unit = lldb.target.module['TextEdit'].compile_unit['/path/to/Document.m']
comp_unit = lldb.target.module['TextEdit'].compile_unit[0]
comp_unit = lldb.target.module['TextEdit'].compile_unit[1]
for comp_unit in lldb.target.module['TextEdit'].compile_unit[re.compile("\.m$")]
print comp_unit
This helps do quick searches and scripting while debugging.
llvm-svn: 176613
Anna Zaks [Thu, 7 Mar 2013 03:02:36 +0000 (03:02 +0000)]
[analyzer] Warn on passing a reference to null pointer as an argument in a call
Warn about null pointer dereference earlier when a reference to a null pointer is
passed in a call. The idea is that even though the standard might allow this, reporting
the issue earlier is better for diagnostics (the error is reported closer to the place where
the pointer was set to NULL). This also simplifies analyzer’s diagnostic logic, which has
to track “where the null came from”. As a consequence, some of our null pointer
warning suppression mechanisms started triggering more often.
TODO: Change the name of the file and class to reflect the new check.
llvm-svn: 176612
Greg Clayton [Thu, 7 Mar 2013 02:58:47 +0000 (02:58 +0000)]
Stop the "module" property from throwing an exception when the module name was not found in the target module list.
llvm-svn: 176611
Greg Clayton [Thu, 7 Mar 2013 02:57:54 +0000 (02:57 +0000)]
Added a new module that can dump all line tables for all compile units in any modules that are specified as arguments to the "dump_module_line_tables" command.
I used this to verify that the debug map line tables were the same as previous LLDB releases prior to my change in the DWARF in .o file linking.
llvm-svn: 176610
Rafael Espindola [Thu, 7 Mar 2013 02:43:24 +0000 (02:43 +0000)]
Don't duplicate function names. Thanks to Jordan Rose for pointing it out.
llvm-svn: 176609
Nick Lewycky [Thu, 7 Mar 2013 02:03:08 +0000 (02:03 +0000)]
Remove GCDAProfiling.c. This copy is old, the copy in compiler-rt is newer and
is the one that should be used.
llvm-svn: 176608
Rafael Espindola [Thu, 7 Mar 2013 02:00:27 +0000 (02:00 +0000)]
Add a hasExternalLinkage helper. No functionality change.
llvm-svn: 176607
Rafael Espindola [Thu, 7 Mar 2013 01:42:44 +0000 (01:42 +0000)]
Add a hasExternalStorageAsWritten helper. No functionality change.
It is possible that some of the current uses of
"getStorageClassAsWritten() == SC_Extern" should use this but I don't know
enough about SC_PrivateExtern to change and test them.
llvm-svn: 176606
Manman Ren [Thu, 7 Mar 2013 01:42:00 +0000 (01:42 +0000)]
Debug Info: store the files and directories for each compile unit.
We now emit a line table for each compile unit. To reduce the prologue size
of each line table, the files and directories used by each compile unit are
stored in std::map<unsigned, std::vector< > > instead of std::vector< >.
The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each
compile unit causes a huge increase of debug info. With this patch, each
prologue will only emit the files required by the compile unit.
rdar://problem/
13342023
llvm-svn: 176605
Nadav Rotem [Thu, 7 Mar 2013 01:38:04 +0000 (01:38 +0000)]
ArrayRef has a OneElt constructor. Beautify the code.
llvm-svn: 176604
Rafael Espindola [Thu, 7 Mar 2013 01:34:57 +0000 (01:34 +0000)]
Fix typo.
llvm-svn: 176603
Nadav Rotem [Thu, 7 Mar 2013 01:30:40 +0000 (01:30 +0000)]
Switch from std::vector to ArrayRef. Speedup FoldBitCast by 5x.
llvm-svn: 176602
Jordan Rose [Thu, 7 Mar 2013 01:23:25 +0000 (01:23 +0000)]
[analyzer] Check for returning null references in ReturnUndefChecker.
Officially in the C++ standard, a null reference cannot exist. However,
it's still very easy to create one:
int &getNullRef() {
int *p = 0;
return *p;
}
We already check that binds to reference regions don't create null references.
This patch checks that we don't create null references by returning, either.
<rdar://problem/
13364378>
llvm-svn: 176601
Jordan Rose [Thu, 7 Mar 2013 01:23:14 +0000 (01:23 +0000)]
[analyzer] Clean up a few doc comments for ProgramState and CallEvent.
No functionality change.
llvm-svn: 176600
Andrew Trick [Thu, 7 Mar 2013 01:03:35 +0000 (01:03 +0000)]
SimplifyCFG fix for volatile load/store.
Fixes rdar:
13349374.
Volatile loads and stores need to be preserved even if the language
standard says they are undefined. "volatile" in this context means "get
out of the way compiler, let my platform handle it".
Additionally, this is the only way I know of with llvm to write to the
first page (when hardware allows) without dropping to assembly.
llvm-svn: 176599
Michael Liao [Thu, 7 Mar 2013 01:01:29 +0000 (01:01 +0000)]
Fix two remaining issue after fixing PR15355 when CMOV is not available
- Phi nodes should be replaced/updated after lowering CMOV into branch
because 'mainMBB' updating operand in Phi node is changed.
- Add EFLAGS in livein before lowering the 2nd CMOV. It's necessary as
we will reuse the EFLAGS generated before the 1st lowered CMOV, which
won't clobber EFLAGS. However, we need explicitly specify that.
- '-attr=-cmov' test case are added.
llvm-svn: 176598
Daniel Malea [Thu, 7 Mar 2013 00:52:25 +0000 (00:52 +0000)]
Clean up LLDB CMake build output
- remove "-debug" flag from swig scripts
- use "echo -n" instead of "echo" in dummy target to avoid printing a useless newline
llvm-svn: 176597
Daniel Malea [Thu, 7 Mar 2013 00:50:54 +0000 (00:50 +0000)]
Fix running of LLDB tests with cmake+ninja+ccache
- Avoid passing 'ccache' as the test compiler. Instead, use first arg after ccache.
llvm-svn: 176596
Daniel Malea [Thu, 7 Mar 2013 00:48:53 +0000 (00:48 +0000)]
Fix Linux i386 build
- missing definitions were causing different definitions of type 'off_t', resulting in linker errors
- fix is to define _LARGEFILE_SOURCE and _FILE_OFFSET_BITS=64
llvm-svn: 176595
Han Ming Ong [Wed, 6 Mar 2013 23:59:34 +0000 (23:59 +0000)]
<rdar://problem/
13119170>
Reap the child process (debugserver) when it is done.
llvm-svn: 176594
Howard Hinnant [Wed, 6 Mar 2013 23:30:19 +0000 (23:30 +0000)]
No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute.
llvm-svn: 176593
Greg Clayton [Wed, 6 Mar 2013 23:23:27 +0000 (23:23 +0000)]
<rdar://problem/
13362109>
LLDB was not parsing line tables correctly for DWARF in .o files after recent debug map changes. This has now been fixed.
llvm-svn: 176592
Jason Molenda [Wed, 6 Mar 2013 23:19:17 +0000 (23:19 +0000)]
Remove some tabs and extraneous space chars from ObjectFileMachO.cpp.
Noticed these while working on the last commit.
llvm-svn: 176590
Jason Molenda [Wed, 6 Mar 2013 23:17:36 +0000 (23:17 +0000)]
Retrieve the dyld shared cache mapping offset from the shared cache instead of hardcoding the value.
Read the version number of the dyld shared cache.
<rdar://problem/
13311882>
llvm-svn: 176589
Adrian Prantl [Wed, 6 Mar 2013 22:03:30 +0000 (22:03 +0000)]
Ensure that DIType is regenerated after we visit an implementation
that adds ivars to an interface.
Fixes rdar://
13175234
This is an update to r176116 that performs a smart caching of interfaces.
llvm-svn: 176584
Shankar Easwaran [Wed, 6 Mar 2013 21:59:27 +0000 (21:59 +0000)]
[ELF] Order weak symbols properly
llvm-svn: 176583
Andrew Kaylor [Wed, 6 Mar 2013 21:37:41 +0000 (21:37 +0000)]
Skipping TestConstVariables on Linux.
The test was marked as expectedFailureLinux, but now it passes with gcc and some versions of clang. Newer versions of clang introduce a failure due to bad DWARF information.
llvm-svn: 176581
Akira Hatanaka [Wed, 6 Mar 2013 21:32:03 +0000 (21:32 +0000)]
[mips] Custom-legalize BR_JT.
In N64-static, GOT address is needed to compute the branch address.
llvm-svn: 176580
Greg Clayton [Wed, 6 Mar 2013 21:17:06 +0000 (21:17 +0000)]
Added tests to test for "settings set" with trailing whitespaces after the values.
llvm-svn: 176579