| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
This begins minimal support for invoking 'ld' from clang for WebAssembly
targets.
Differential Revision: http://reviews.llvm.org/D15586
llvm-svn: 255848
|
|
|
|
| |
llvm-svn: 255847
|
|
|
|
| |
llvm-svn: 255846
|
|
|
|
|
|
|
| |
We had duplicate code that were called before addMemberFile.
This patch makes them to be called at beginning of addMemberFile.
llvm-svn: 255845
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Implement eliminateCallFramePsuedo to handle ADJCALLSTACKUP/DOWN
pseudo-instructions. Add a test calling a vararg function which causes non-0
adjustments. This revealed an issue with RegisterCoalescer wherein it
eliminates a COPY from SP32 to a vreg but failes to update the live ranges
of EXPR_STACK, causing a machineinstr verifier failure (so this test
is commented out).
Also add a dynamic alloca test, which causes a callseq_end dag node with
a 0 (instead of undef) second argument to be generated. We currently fail to
select that, so adjust the ADJCALLSTACKUP tablegen code to handle it.
Differential Revision: http://reviews.llvm.org/D15587
llvm-svn: 255844
|
|
|
|
| |
llvm-svn: 255843
|
|
|
|
|
|
|
| |
Passing in a std::unique_ptr should help find errors when the module
is used after being linked into another module.
llvm-svn: 255842
|
|
|
|
| |
llvm-svn: 255841
|
|
|
|
| |
llvm-svn: 255840
|
|
|
|
|
|
|
|
| |
addELFFile was called only from addFile, and what it did was actually
just adding a file to the symbol table. There seems to be no reason
to separate the two.
llvm-svn: 255839
|
|
|
|
| |
llvm-svn: 255838
|
|
|
|
|
|
|
|
|
|
|
| |
It looks like the code this patch deletes is based on a misunderstanding of
what guarantees writev provides. In particular, writev with 1 iovec is
not "more atomic" than a write.
Testing on OS X shows that both write and writev from multiple processes
can be intermixed.
llvm-svn: 255837
|
|
|
|
|
|
| |
We don't need static_casts when we use the right Subtarget.
llvm-svn: 255836
|
|
|
|
|
|
|
|
|
|
|
| |
negDelta32 is only ever implicitly generated as the FDE->CIE reference.
We therefore don't emit a relocation for it in the object file in -r mode.
The value we write in to the FDE location therefore needs to point to the
final target address of the CIE, and not the inAtomAddress as it was currently
doing.
llvm-svn: 255835
|
|
|
|
| |
llvm-svn: 255834
|
|
|
|
|
|
| |
We don't do that in other places in the same file.
llvm-svn: 255833
|
|
|
|
|
|
|
| |
Since the functions are members of SymbolTable class, it is obvious
that they are adding symbols.
llvm-svn: 255832
|
|
|
|
| |
llvm-svn: 255831
|
|
|
|
| |
llvm-svn: 255830
|
|
|
|
|
|
|
| |
Previously reportConflict returned only when the third argument is false.
Now it always returns a value.
llvm-svn: 255829
|
|
|
|
|
|
|
|
| |
This matches the other MIB methods, none of which modify the builder.
Without this, we can't chain copyImplicitOps.
Also reformat the few users, in PPCEarlyReturn.
llvm-svn: 255828
|
|
|
|
|
|
|
| |
This test is not testing what it is supposed to test because of a
mixup with the CHECK lines.
llvm-svn: 255827
|
|
|
|
|
|
|
| |
In debug builds there's now a dump method on Section and improved
printing of atoms.
llvm-svn: 255826
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Surface counter overflow when merging profile data. Merging still occurs on overflow but counts saturate to the maximum representable value. Overflow is reported to the user.
Reviewers: davidxl, dnovillo, silvas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15547
llvm-svn: 255825
|
|
|
|
|
|
| |
Fixes variable name from r255779.
llvm-svn: 255824
|
|
|
|
| |
llvm-svn: 255823
|
|
|
|
|
|
|
|
|
|
|
| |
After r255819, parse() actually parses what you pass it.
This test was failing because it passed '--debug-only' which isn't in
release builds, but also 'foo' which isn't an option at all.
We now pass -enable-tbaa and -enable-misched which are real options.
llvm-svn: 255822
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The access function has a short entry and a short exit, the initialization
block is only run the first time. To improve the performance, we want to
have a short frame at the entry and exit.
We explicitly handle most of the CSRs via copies. Only the CSRs that are not
handled via copies will be in CSR_SaveList.
Frame lowering and prologue/epilogue insertion will generate a short frame
in the entry and exit according to CSR_SaveList. The majority of the CSRs will
be handled by register allcoator. Register allocator will try to spill and
reload them in the initialization block.
We add CSRsViaCopy, it will be explicitly handled during lowering.
1> we first set FunctionLoweringInfo->SplitCSR if conditions are met (the target
supports it for the given machine function and the function has only return
exits). We also call TLI->initializeSplitCSR to perform initialization.
2> we call TLI->insertCopiesSplitCSR to insert copies from CSRsViaCopy to
virtual registers at beginning of the entry block and copies from virtual
registers to CSRsViaCopy at beginning of the exit blocks.
3> we also need to make sure the explicit copies will not be eliminated.
The target independent portion was committed as r255353.
rdar://problem/23557469
Differential Revision: http://reviews.llvm.org/D15341
llvm-svn: 255821
|
|
|
|
| |
llvm-svn: 255820
|
|
|
|
|
|
|
|
|
| |
We used to parse the LLVM options in Driver::link. However, that is
after parse() where we load files. By moving the LLVM option handling
earlier, we can add DEBUG() to code such as MachONormalizedFileToAtoms.cpp
and have it enabled correctly by '-mllvm --debug'.
llvm-svn: 255819
|
|
|
|
|
|
|
|
|
| |
Update supportSplitCSR's interface to take machine function instead of the
calling convention.
Review comments for http://reviews.llvm.org/D15341
llvm-svn: 255818
|
|
|
|
| |
llvm-svn: 255817
|
|
|
|
| |
llvm-svn: 255816
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D15546
llvm-svn: 255815
|
|
|
|
|
|
|
|
|
|
| |
".exe" extension is inherently checked by llvm::fs::can_execute()
This patch fixes the linker extension in clang driver and updates the
unit test to accommodate the the check string on windows.
Differential Revision:http://reviews.llvm.org/D15577
llvm-svn: 255814
|
|
|
|
|
|
|
|
|
|
| |
When you start chaining bootstrap stages the CMake-generated targets get unwieldy. This change supports naming the bootstrap targets and creating wrapper targets in the top-level build file.
Without this patch the default target generated for a second stage build was "bootstrap" with it the target is "stage2".
Also with some CMake goop setting CLANG_BOOTSTRAP_TARGETS, you can expose third stage targets as "stage3" instead of "bootstrap-bootstrap"
llvm-svn: 255813
|
|
|
|
| |
llvm-svn: 255812
|
|
|
|
| |
llvm-svn: 255811
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D15427
llvm-svn: 255810
|
|
|
|
|
|
|
|
|
| |
Internally, this test is executed in a read-only directory, which causes
it to fail because the driver tries to generate a file unnecessarily.
Adding -fsyntax-only fixes the issue (thanks to Artem Belevich for
figuring out the root cause).
llvm-svn: 255809
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch reworks the breakpoint filter-by-language patch to use the
symbol context instead of trying to guess the language solely from the
symbol's name. This has the advantage that symbols compiled with debug
info will have their actual language known. Symbols without debug info
will still do the same "guess"ing because Symbol::GetLanguage() is
implemented using Mangled::GuessLanguage(). The recognition of ObjC
names was merged into Mangled::GuessLanguage.
Reviewed by: jingham, clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D15326
llvm-svn: 255808
|
|
|
|
| |
llvm-svn: 255807
|
|
|
|
|
|
| |
This reverts commit r255762.
llvm-svn: 255806
|
|
|
|
|
|
|
|
|
|
|
|
| |
doing. NFC.
We had some DEBUG prints these passes, but add more so that its clear where we are dumping
things, and what state we are in when we do so.
I'll be adding more and more DEBUG printing to try make it easier to observe whats going on
without having to attach a debugger.
llvm-svn: 255805
|
|
|
|
|
|
|
|
|
|
| |
Some tests are missing the {{(.exe)?}} suffix on the exectables
which the FileCheck is grepping for. This will ensure, the lit tests
are clean on windows
Differential Revision: http://reviews.llvm.org/D15579
llvm-svn: 255804
|
|
|
|
|
|
|
| |
If a branch both branches to and falls through to the same block, treat it as
an explicit branch.
llvm-svn: 255803
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently it's easy to break CUDA compilation by passing
"-isystem /path/to/cuda/include" to compiler which leads to
compiler including real cuda_runtime.h from there instead
of the wrapper we need.
Renaming the wrapper ensures that we can include the wrapper
regardless of user-specified include paths and files.
Differential Revision: http://reviews.llvm.org/D15534
llvm-svn: 255802
|
|
|
|
|
|
| |
Adding optional dependency for the bootstrap targets on compiler-rt.
llvm-svn: 255801
|
|
|
|
|
|
| |
This allows exposing a custom list of targets from the next stage build up.
llvm-svn: 255799
|
|
|
|
|
|
| |
The add_dependencies call on compiler-rt-configure adds llvm-config and clang to the phony target, but not to the actual configure custom command. We need the dependency bound to the custom command so that it can't be re-ordered by Ninja.
llvm-svn: 255798
|