| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 234548
|
| |
|
|
|
|
|
|
|
|
|
| |
ISA 2.06
This patch corresponds to review:
http://reviews.llvm.org/D8398
It adds some builtin functions to access the extended divide and bit permute instructions.
llvm-svn: 234547
|
| |
|
|
|
|
|
|
|
|
|
| |
ISA 2.06
This is the patch corresponding to review:
http://reviews.llvm.org/D8406
It adds some missing instructions from ISA 2.06 to the PPC back end.
llvm-svn: 234546
|
| |
|
|
|
|
|
| |
of a CFType bridged to some unknown Objective-C type.
rdar://20113785
llvm-svn: 234545
|
| |
|
|
| |
llvm-svn: 234544
|
| |
|
|
|
|
|
| |
We were still using the MaterializeTemporaryExpr's type to check if the
transform is legal. Always use the inner Expr type.
llvm-svn: 234543
|
| |
|
|
|
|
| |
Should unbreak fuzzer buildbot.
llvm-svn: 234542
|
| |
|
|
|
|
|
| |
Having std:move(mb) and mb->getBuffer() in the same argument list is not safe
because the order of evaluation is not defined.
llvm-svn: 234541
|
| |
|
|
|
|
|
|
| |
CreateELF.h was included only by ELFReader.h, and it was used only
by ELFReader class. By making the function a member of the class,
we can remove template parameters.
llvm-svn: 234540
|
| |
|
|
|
|
|
|
| |
code will be broken
Thanks Greg!
llvm-svn: 234539
|
| |
|
|
| |
llvm-svn: 234538
|
| |
|
|
|
|
|
|
| |
not actually warn to people when running under the simulator
rdar://20403987
llvm-svn: 234537
|
| |
|
|
| |
llvm-svn: 234536
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
formatted_raw_ostream is a wrapper over another stream to add column and line
number tracking.
It is used only for asm printing.
This patch moves the its creation down to where we know we are printing
assembly. This has the following advantages:
* Simpler lifetime management: std::unique_ptr
* We don't compute column and line number of object files :-)
llvm-svn: 234535
|
| |
|
|
| |
llvm-svn: 234534
|
| |
|
|
|
|
|
|
| |
We don't actually need a real Mac sysroot to make the test pass, just a
linker. This makes the test pass in environments where no ld is on
PATH.
llvm-svn: 234533
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WinEHPrepare was going to have to pattern match the control flow merge
and split that the old lowering used, and that wasn't really feasible.
Now we can teach WinEHPrepare to pattern match this, which is much
simpler:
%fp = call i8* @llvm.frameaddress(i32 0)
call void @func(iN [01], i8* %fp)
This prototype happens to match the prototype used by the Win64 SEH
personality function, so this is really simple.
llvm-svn: 234532
|
| |
|
|
| |
llvm-svn: 234531
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already do:
concat_vectors(scalar, undef) -> scalar_to_vector(scalar)
When the scalar is legal.
When it's not, but is a truncated legal scalar, we can also do:
concat_vectors(trunc(scalar), undef) -> scalar_to_vector(scalar)
Which is equivalent, since the upper lanes are undef anyway.
While there, teach the combine to look at more than 2 operands.
Differential Revision: http://reviews.llvm.org/D8883
llvm-svn: 234530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The integer extend optimization tries to fold the extend into the load
instruction. This requires us to identify if the extend has already been
emitted or not and act accordingly on it.
The check that was originally performed for this was not sufficient. Besides
checking the ValueMap for a mapped register we also need to check if the
virtual register has already an associated machine instruction that defines it.
This fixes rdar://problem/20470788.
llvm-svn: 234529
|
| |
|
|
|
|
|
|
| |
A [*] is only allowed in a declaration for a function, not in its
definition. We didn't correctly recurse on reference types while
looking for it, causing us to crash in CodeGen instead of rejecting it.
llvm-svn: 234528
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This will get the windows bots going.
Test Plan: Build LLDB on Windows.
Reviewers: zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D8934
llvm-svn: 234527
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous implementation would copy the attribute from the class to
functions that have the class as their return type when the functions
are first declared. This proved to have two flaws:
1) if the class is forward-declared without the attribute and a
function or method with the class as a its return type is declared,
and afterward the class is defined with warn_unused_result, the
function or method would never inherit the attribute, and
2) the check simply failed for functions and methods that are part of
a template instantiation, regardless of whether the class with
warn_unused_result is part of a specific instantiation or part of
the template itself (presumably because those function/method
declaration does not hit the same code path as a non-template one
and so never inherits the attribute).
The new approach is to instead modify the two places where a function or
method call is checked for the warn_unused_result attribute on the decl
by extending the checks to also look for the attribute on the decl's
return type.
Additionally, the check for return types that have the warn_unused_result
now excludes pointers and references to such types, as such return types do
not necessarily imply a transfer of ownership for the underlying object
being referred to by the return value. This does not change the behavior
of functions that are directly given the warn_unused_result attribute.
llvm-svn: 234526
|
| |
|
|
| |
llvm-svn: 234525
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: Build LLDB
Reviewers: domipheus
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D8933
llvm-svn: 234524
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This makes all parts of the test pass with Clang and GCC. They are
enabled with this patch.
Test Plan: dotest.py -C <clang|gcc> -p TestBitfields
Reviewers: vharron, clayborg
Reviewed By: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D8874
llvm-svn: 234523
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This fixes an issue with GCC generated binaries wherein an expression
with method invocations on std::string variables was failing. Such use
cases are tested in TestSTL (albeit, in a test marked with
@unittest2.expectedFailure because of other reasons).
The reason for this particular failure with GCC is that the generated
DWARF for std::basic_string<...> is incomplete, which makes clang not
to use the alternate mangling scheme. GCC correctly generates the name
of basic_string<...>:
DW_AT_name "basic_string<char, std::char_traits<char>, std::allocator<char> >"
It also lists the template parameters of basic_string correctly:
DW_TAG_template_type_parameter
DW_AT_name "_CharT"
DW_AT_type <0x0000009c>
DW_TAG_template_type_parameter
DW_AT_name "_Traits"
DW_AT_type <0x00000609>
DW_TAG_template_type_parameter
DW_AT_name "_Alloc"
DW_AT_type <0x000007fb>
However, it does not list the template parameters of std::char_traits<>.
This makes Clang feel (while parsing the expression) that the string
variable is not actually a basic_string instance, and consequently does
not use the alternate mangling scheme.
Test Plan:
dotest.py -C gcc -p TestSTL
-- See it go past the "for" loop expression successfully.
Reviewers: clayborg, spyffe
Reviewed By: clayborg, spyffe
Subscribers: tberghammer, zturner, lldb-commits
Differential Revision: http://reviews.llvm.org/D8846
llvm-svn: 234522
|
| |
|
|
|
|
|
| |
This is a follow-up to r233860 which added -lc++abi when using ASan
on Mac, and broke Chromium's ASan build which doesn't use libc++.
llvm-svn: 234521
|
| |
|
|
|
|
|
| |
objc_msgSend's first argument to "Class" because
objc_getClass is passed. rdar://20477025
llvm-svn: 234520
|
| |
|
|
| |
llvm-svn: 234519
|
| |
|
|
|
|
| |
This reverts commit r234513. It was failing on the bots.
llvm-svn: 234518
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously the Debugger::HandleProcessEvent hid a top IOHandler if the
process's IOHandler was inactive and later refreshed it. Usually the
IOHandler.Refresh() prints the (lldb) prompt. The problem was in case of
iOS remote platform when trying to execute 'command source' command.
On this platform the process's IOHandler is empty, therefore the
Debugger::HandleProcessEvent hid a top IOHandler and later refreshed it.
So that the (lldb) prompt was printed with a program output in mixed
order:
was:
```
longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong
longlonglonglonglonglonglonglonglonglonglonglonglonglonglon(lldb)
glonglonglonglonglonglonglonglonglonglonglonglong string
```
now:
```
longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong
longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong
longlonglonglonglonglonglonglonglong string
```
Reviewers: zturner, jingham, clayborg
Reviewed By: clayborg
Subscribers: lldb-commits, jingham, zturner, clayborg
Differential Revision: http://reviews.llvm.org/D8929
llvm-svn: 234517
|
| |
|
|
|
|
|
|
|
|
| |
Previously, users on Windows had to manually specify PYTHONPATH
to point to the site-packages directory before running LLDB.
The reason for this was because sys.path was being initialized
with a path containing unescaped backslashes, causing escape
sequences to end up in the paths.
llvm-svn: 234516
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Using this instead of
namespace llvm {
func...
}
Has the advantage that the build fails with a compiler error if it gets out
of sync with the .h file.
llvm-svn: 234515
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The decorators to skip if or unless certain platforms relied on calling
skipTest, which only worked if they were decorating individual test cases.
However for decorating entire classes it needs different behavior. This behavior
is already encapsulated in unittest2.skipIf and unittest2.skipUnless so this
modifies the platform decorators to use these unittest skip decorators.
Test Plan:
./dotest.py -t -p TestObjCMethods2.py
See skipped tests on linux, and see tests run on macosx.
Differential Revision: http://reviews.llvm.org/D8903
llvm-svn: 234514
|
| |
|
|
| |
llvm-svn: 234513
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Do not warn on .reset(.release()) expressions if the deleters are not
compatible.
Using plain assignment will probably not work.
Reviewers: klimek
Subscribers: curdeius, cfe-commits
Differential Revision: http://reviews.llvm.org/D8422
llvm-svn: 234512
|
| |
|
|
|
|
|
|
|
|
| |
context as the first thing we do. This prevents
crashes if some of the initial setup produces
messages or errors.
<rdar://problem/20457882>
llvm-svn: 234511
|
| |
|
|
|
|
|
| |
Pull the `-preserve-*-use-list-order` flags out of "experimental" mode,
and preserve use-list order by default when serializing to bitcode.
llvm-svn: 234510
|
| |
|
|
|
|
| |
instead of isel is more efficient in some cases.
llvm-svn: 234509
|
| |
|
|
|
|
| |
to the .xcodeproj.
llvm-svn: 234508
|
| |
|
|
|
|
| |
It saves a bit of copying.
llvm-svn: 234507
|
| |
|
|
| |
llvm-svn: 234506
|
| |
|
|
| |
llvm-svn: 234505
|
| |
|
|
|
|
| |
These were lost when I reverted the raw_ostream changes.
llvm-svn: 234504
|
| |
|
|
|
|
|
|
| |
Plan is to have this initialized on a per-process basis somewhat the same as the ObjC library on module loading, but this commit is simply the foundation work and will be incrementally built upon to add that detection functionality.
Differential Revision: http://reviews.llvm.org/D8896
llvm-svn: 234503
|
| |
|
|
| |
llvm-svn: 234502
|
| |
|
|
| |
llvm-svn: 234501
|
| |
|
|
| |
llvm-svn: 234500
|
| |
|
|
|
|
|
|
|
| |
type to fold it.
The MaterializeTemporaryExpr can have a different type than the inner
expression, miscompiling the constant. PR23165.
llvm-svn: 234499
|