| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The -tailcallelim pass should be checking if byval or inalloca args can
be captured before marking calls as tail calls. This was the real root
cause of PR7272.
With a better fix in place, revert the inliner change from r105255. The
test case it introduced still passes and has been moved to
test/Transforms/Inline/byval-tail-call.ll.
Reviewers: chandlerc
Differential Revision: http://reviews.llvm.org/D3403
llvm-svn: 206789
|
| |
|
|
| |
llvm-svn: 206788
|
| |
|
|
| |
llvm-svn: 206787
|
| |
|
|
| |
llvm-svn: 206786
|
| |
|
|
| |
llvm-svn: 206785
|
| |
|
|
| |
llvm-svn: 206784
|
| |
|
|
|
|
| |
Intentionally duplicate base class definitions per test, so it's easier to copy tests while debugging failures.
llvm-svn: 206782
|
| |
|
|
|
|
|
| |
objects to fund root class's instance methods.
// rdar://16650575
llvm-svn: 206781
|
| |
|
|
|
|
|
|
|
|
| |
allocation/pointers.
Requires switching some vectors to lists to maintain pointer validity.
These could be changed to forward_lists (singly linked) with a bit more
work - I've left comments to that effect.
llvm-svn: 206780
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The INSERTPS pattern fragment was called insrtps (mising 'e'), which
would make it harder to grep for the patterns related to this instruction.
Renaming it to use the proper instruction name.
Reviewers: nadav
CC: llvm-commits
Differential Revision: http://reviews.llvm.org/D3443
llvm-svn: 206779
|
| |
|
|
|
|
| |
cpp file rather than in the header and then again in the cpp file.
llvm-svn: 206778
|
| |
|
|
|
|
|
|
|
|
|
| |
header files and into the cpp files.
These files will require more touches as the header files actually use
DEBUG(). Eventually, I'll have to introduce a matched #define and #undef
of DEBUG_TYPE for the header files, but that comes as step N of many to
clean all of this up.
llvm-svn: 206777
|
| |
|
|
|
|
|
|
|
| |
unavailable
If the module is unavailable because of a missing header, don't diagnose
a "module * {}" declaration for having a missing umbrella.
llvm-svn: 206776
|
| |
|
|
|
|
|
| |
various .cpp files. This macro is inherently non-modular, and it wasn't
even needed in this header file.
llvm-svn: 206775
|
| |
|
|
|
|
| |
instruction
llvm-svn: 206774
|
| |
|
|
|
|
|
|
|
| |
Tentative revert for
http://lab.llvm.org:8011/builders/llvm-mips-linux/builds/8305.
This reverts commit c2a58efff07294fca724f89500538f2ddbcd12ff.
llvm-svn: 206773
|
| |
|
|
| |
llvm-svn: 206772
|
| |
|
|
|
|
|
| |
Change `PositiveFloat` to `UnsignedFloat`, and fix some of the comments
to indicate that it's disappearing eventually.
llvm-svn: 206771
|
| |
|
|
| |
llvm-svn: 206770
|
| |
|
|
| |
llvm-svn: 206769
|
| |
|
|
| |
llvm-svn: 206768
|
| |
|
|
| |
llvm-svn: 206767
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r206707, reapplying r206704. The preceding commit
to CalcSpillWeights should have sorted out the failing buildbots.
<rdar://problem/14292693>
llvm-svn: 206766
|
| |
|
|
|
|
|
|
|
| |
This gross hack forces `hweight` into memory, preventing hidden
precision from making `1 > 1` occasionally equal `true`.
<rdar://problem/14292693>
llvm-svn: 206765
|
| |
|
|
| |
llvm-svn: 206764
|
| |
|
|
|
|
|
|
| |
Use volatile store to protect the generated PTX from DCE.
Patch by Jingyue Wu.
llvm-svn: 206763
|
| |
|
|
|
|
|
|
|
| |
Our build is still getting this test to fail with the presence of const in
'(Foo &const) y = 0x' and '(Foo &&const) z = 0x'. This change simply changes
the match substrings to ignore the portion after the final '&' and before the
closing ')'. This should cover the presence (or absence) of the const qualifier.
llvm-svn: 206762
|
| |
|
|
|
|
|
|
|
|
| |
The underlying issue was actually a Clang bug, now fixed. The test now
reports XPASS for me locally and on the buildbot.
llvm.org/pr17183 (LLDB)
llvm.org/pr18950 (Clang)
llvm-svn: 206761
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Perhaps these should be @expectedFailureDarwin instead of
@unittest2.expectedFailure (applying to all hosts); I'm not aware of
the details in the rdars.
Just add a comment for now, for the benefit of anyone investigating
FreeBSD test issues in the future.
rdar://9980907
rdar://15367233
llvm-svn: 206760
|
| |
|
|
| |
llvm-svn: 206759
|
| |
|
|
|
|
| |
It can be reverted a few days later, after X86Disassembler.d is updated not to contain "X86Disassembler.c".
llvm-svn: 206758
|
| |
|
|
|
|
|
|
|
| |
I am not sure if this is due to an LLDB change, or the fact that FreeBSD
now has Clang 3.4.
llvm.org/pr19075
llvm-svn: 206757
|
| |
|
|
| |
llvm-svn: 206756
|
| |
|
|
| |
llvm-svn: 206755
|
| |
|
|
|
|
|
|
|
|
|
| |
ocasionally it fails with a slightly different report:
WARNING: ThreadSanitizer: signal handler spoils errno (pid=3674)
#0 MyHandler(int, siginfo*, void*)
...
#4 __tsan_free_hook
#5 main signal_errno.cc:40
llvm-svn: 206754
|
| |
|
|
| |
llvm-svn: 206753
|
| |
|
|
| |
llvm-svn: 206752
|
| |
|
|
|
|
|
|
|
|
| |
The additional "const" breaks the FreeBSD buildbot, and does not appear
to be due to a LLVM or Clang change. Revert the change while
investigating further.
This reverts revision 206619.
llvm-svn: 206751
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We normally don't drop functions from the C API's, but in this case I think we
can:
* The old implementation of getFileOffset was fairly broken
* The introduction of LLVMGetSymbolFileOffset was itself a C api breaking
change as it removed LLVMGetSymbolOffset.
* It is an incredibly specialized use case. The only reason MCJIT needs it is
because of its odd position of being a dynamic linker of .o files.
llvm-svn: 206750
|
| |
|
|
| |
llvm-svn: 206749
|
| |
|
|
| |
llvm-svn: 206748
|
| |
|
|
| |
llvm-svn: 206747
|
| |
|
|
|
|
| |
memset/memcpy/memmove, replace the intrinsic with __asan_memset/etc. This makes the memset/etc handling more complete and consistent with what we do in msan. It may slowdown some cases (when the intrinsic was actually inlined) and speedup other cases (when it was not inlined)
llvm-svn: 206746
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LazyCallGraph analysis framework. Wire it up all the way through the opt
driver and add some very basic testing that we can build pass pipelines
including these components. Still a lot more to do in terms of testing
that all of this works, but the basic pieces are here.
There is a *lot* of boiler plate here. It's something I'm going to
actively look at reducing, but I don't have any immediate ideas that
don't end up making the code terribly complex in order to fold away the
boilerplate. Until I figure out something to minimize the boilerplate,
almost all of this is based on the code for the existing pass managers,
copied and heavily adjusted to suit the needs of the CGSCC pass
management layer.
The actual CG management still has a bunch of FIXMEs in it. Notably, we
don't do *any* updating of the CG as it is potentially invalidated.
I wanted to get this in place to motivate the new analysis, and add
update APIs to the analysis and the pass management layers in concert to
make sure that the *right* APIs are present.
llvm-svn: 206745
|
| |
|
|
|
|
|
|
|
|
| |
became empty. This would manifest later as an assert failure due to
a non-empty list map but an empty result map. This doesn't easily
manifest with just the module pass manager and the function pass
manager, but the next commit will add the CGSCC pass manager that hits
this assert immediately.
llvm-svn: 206744
|
| |
|
|
| |
llvm-svn: 206743
|
| |
|
|
|
|
| |
-mllvm -asan-instrumentation-with-call-threshold=0. This is very unfortunate since it effectively doubles the number of gunit asan tests that need to be built and run, but as long as we need out-lined calls (PR17409) I see no other way to test this workaround
llvm-svn: 206742
|
| |
|
|
| |
llvm-svn: 206741
|
| |
|
|
|
|
|
|
| |
break the API.
No functionality change.
llvm-svn: 206740
|
| |
|
|
|
|
| |
teach the opt driver to use it rather than a manual list.
llvm-svn: 206739
|