| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Apparently, dladdr() can succeed but return a NULL pointer, in which case strdup will crash. Let's not call strdup on NULL pointers.
llvm-svn: 254068
|
|
|
|
|
|
|
|
|
|
|
|
| |
MSVC supports 'property' attribute and allows to apply it to the declaration of an empty array in a class or structure definition.
For example:
```
__declspec(property(get=GetX, put=PutX)) int x[];
```
The above statement indicates that x[] can be used with one or more array indices. In this case, i=p->x[a][b] will be turned into i=p->GetX(a, b), and p->x[a][b] = i will be turned into p->PutX(a, b, i);
Differential Revision: http://reviews.llvm.org/D13336
llvm-svn: 254067
|
|
|
|
| |
llvm-svn: 254066
|
|
|
|
|
|
|
|
|
| |
Implements R_386_COPY relocation for x86 target.
Similar to one for x64 http://reviews.llvm.org/D14090 which did most of job needed.
Differential revision: http://reviews.llvm.org/D14958
llvm-svn: 254065
|
|
|
|
|
|
|
|
|
| |
The e500mc does not actually support the mfocrf instruction; update the
processor definitions to reflect that fact.
Patch by Tom Rix (with some test-case cleanup by me).
llvm-svn: 254064
|
|
|
|
|
|
|
| |
For MCU only C calling convention is allowed, all other calling conventions are not supported.
Differential Revision: http://reviews.llvm.org/D14864
llvm-svn: 254063
|
|
|
|
| |
llvm-svn: 254062
|
|
|
|
|
|
|
|
|
|
| |
to a simple type when lowering a truncating store of a vector type. In this
case for an EVT we'll return Expand as we should in all of the cases anyhow.
The testcase triggered at the one in VectorLegalizer::LegalizeOp, inspection
found the rest.
llvm-svn: 254061
|
|
|
|
|
|
| |
Tidied up triple and regenerate tests using update_llc_test_checks.py
llvm-svn: 254060
|
|
|
|
|
|
|
|
|
| |
It was wrong order of operands (from intrinsic to DAG node).
I added more strict type specification for instruction selection.
Differential Revision: http://reviews.llvm.org/D14942
llvm-svn: 254059
|
|
|
|
|
|
|
|
| |
Due to a typo, atos-symbolizer-dyld-root-path.cc is currently being skipped all the time. There's a few more typos/copy-paste-errors. Let's fix them and enable this test.
Differential Revision: http://reviews.llvm.org/D14951
llvm-svn: 254058
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
methods
1. Convert serialization methods using InstrProfRecord as source into C (impl)
interfaces using Closure.
2. Reimplement InstrProfRecord serialization method to use new C interface
as dummy wrapper.
Now it is ready to implement wrapper for runtime value profile data.
(The new code need better source location -- but not changed in this patch to
minimize diffs. )
llvm-svn: 254057
|
|
|
|
| |
llvm-svn: 254056
|
|
|
|
| |
llvm-svn: 254055
|
|
|
|
|
|
|
|
|
|
| |
that for unnamed globals.
This fixes parsing of forward references to unnamed aliases.
While here, remove an unnecessary isa check.
llvm-svn: 254054
|
|
|
|
|
|
| |
rejects-valid on this).
llvm-svn: 254053
|
|
|
|
| |
llvm-svn: 254052
|
|
|
|
| |
llvm-svn: 254051
|
|
|
|
|
|
| |
differently on different C libraries.
llvm-svn: 254050
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test fails on Windows:
Command 34: "ld.lld" "-o" "D:\src\llvm\build.release\tools\lld\test\ELF\Output\l
inkerscript.s.tmp2" "D:\src\llvm\build.release\tools\lld\test\ELF\Output\linkers
cript.s.tmp.dir/xyz.script" "--sysroot=D:\src\llvm\build.release\tools\lld\test\
ELF\Output\linkerscript.s.tmp.dir"
Command 34 Result: 1
Command 34 Output:
Command 34 Stderr:
Unable to find /libxyz.a
llvm-svn: 254049
|
|
|
|
|
|
|
|
|
|
|
| |
The main motivation is to not require a latex installation when building
the documentation. I would also expect a better image quality and the
ability to copy&paste from formulas with a javascript based solution for
displaying the math.
Differential Revision: http://reviews.llvm.org/D14960
llvm-svn: 254048
|
|
|
|
| |
llvm-svn: 254047
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14857
llvm-svn: 254046
|
|
|
|
| |
llvm-svn: 254045
|
|
|
|
|
|
|
|
|
| |
This caused PR25607 and also caused Chromium to crash on start-up.
(Also had to update test/CodeGen/X86/avx-splat.ll, which was committed
after shrink wrapping was enabled.)
llvm-svn: 254044
|
|
|
|
|
|
| |
test/CodeGen/X86/avg.ll.
llvm-svn: 254043
|
|
|
|
| |
llvm-svn: 254042
|
|
|
|
|
|
|
|
| |
to allow them to explicitly opt into data recursion despite having overridden
Traverse*Stmt or Traverse*Expr. Use this to reintroduce data recursion to the
one place that lost it when DataRecursiveASTVisitor was removed.
llvm-svn: 254041
|
|
|
|
|
|
| |
Revert the above revision due to multiple issues.
llvm-svn: 254040
|
|
|
|
|
|
|
|
|
| |
In the previous patch (r254003), I made the linker emit PT_GNU_STACK
unconditionally. But sometimes you want to have a control over the
presence of the segment. With this patch, you can omit the segment
by passing -z execstack option.
llvm-svn: 254039
|
|
|
|
|
|
|
| |
This allows cleaner implementation and merging retrieving/mapping in
one pass.
llvm-svn: 254038
|
|
|
|
|
|
|
|
|
| |
This script really should not be assuming every subdirectory is
a language directory for swig generation. Using a hack to get
this working for now, but this should be solved once this script
is re-written similar to how prepare_bindings was.
llvm-svn: 254037
|
|
|
|
|
|
|
|
| |
Add a simple initial heuristic to control importing based on the number
of instructions recorded in the function's summary. Add option to
control the limit, and test using option.
llvm-svn: 254036
|
|
|
|
|
|
|
|
|
|
|
| |
Fix buildbot failure for clang-x86_64-linux-selfhost-modules.
http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/8866
The failing test cases are newly added from r254021. It seems the IR has a
different order in this platform. In this patch, I temporarily relax the test
case to make the build green. I'll have a complete fix (more robust way to test)
soon.
llvm-svn: 254035
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the original binary is executed and sampled, the resulting profile
contains information on the original inline stack. We currently follow
the original inline plan if we notice that the inlined callsite has more
than 0 samples to it.
A better way is to determine whether the callsite is actually worth
inlining. If the callsite accumulates a small fraction of the samples
spent in the parent function, then we don't want to bother inlining it
(as it means that the callsite is actually cold).
This patch introduces a threshold expressed in percentage of samples
in relation to the parent function. If the callsite uses less than N%
of the total samples used by its parent, the original inline decision is
not re-applied.
I've set the threshold to the very arbitrary value of 5%. I'm yet to do
any actual experiments to see what's a good value. I wanted to separate
the basic mechanism from the tuning.
llvm-svn: 254034
|
|
|
|
| |
llvm-svn: 254033
|
|
|
|
| |
llvm-svn: 254032
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case a sysroot prefix is configured, and the filename starts with the
'/' character, and the script being processed was located inside the
sysroot prefix, the file's name will be looked for in the sysroot
prefix. Otherwise, the linker falls to the common lookup scheme.
https://www.sourceware.org/binutils/docs-2.24/ld/File-Commands.html
Differential Revision: http://reviews.llvm.org/D14916
llvm-svn: 254031
|
|
|
|
|
|
| |
type of the allocators match the value type of the containers
llvm-svn: 254030
|
|
|
|
|
|
| |
Tidied up triple and regenerate tests using update_llc_test_checks.py
llvm-svn: 254029
|
|
|
|
|
|
| |
Fix buildbot failure for x86_64-darwin due to r254021
llvm-svn: 254028
|
|
|
|
|
|
|
|
|
| |
Change origin-alignment test to test only the alignment of the origin
store, and not the exact instruction sequence used to compute the
address. This makes the test less fragile and, in particular, lets it
pass both with the old and new MSan ABIs.
llvm-svn: 254027
|
|
|
|
| |
llvm-svn: 254026
|
|
|
|
| |
llvm-svn: 254025
|
|
|
|
| |
llvm-svn: 254024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch, the client will package up all the required
inputs into a compressed zip file, establish a connection to the
server, send the input to the server, and wait for the server to
send a response (in this case the response is just echoed back to
the client).
This gets the network communication in place, and in a subsequent
patch I will follow up with the code that actually runs swig on
the server and sends back the output instead of echoing back the
input.
llvm-svn: 254023
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version supports local generation only. It's intentionally
stupid, and does not support any kind of dependency checking.
If you run the script, it's going to call SWIG. While this is
a slow process, we are going to combine the use of the swig bot
with checked in static bindings, meaning that it won't be terribly
important to only regenerate the bindings when the input files
have actually changed.
A side benefit of this is that the implementation is drastically
simpler.
This is all experimental at the moment, but it duplicates a lot
of the logic currently found in prepare_bindings.py. There was
not a good way to reuse some of the logic without invasive changes
on that script, and since this script is still experimental, it
makes sense to just copy them over, and if / when this becomes
more mature, we can get rid of the other ones.
llvm-svn: 254022
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch implements a minimum spanning tree (MST) based instrumentation for
PGO. The use of MST guarantees minimum number of CFG edges getting
instrumented. An addition optimization is to instrument the less executed
edges to further reduce the instrumentation overhead. The patch contains both the
instrumentation and the use of the profile to set the branch weights.
Differential Revision: http://reviews.llvm.org/D12781
llvm-svn: 254021
|
|
|
|
| |
llvm-svn: 254020
|
|
|
|
|
|
| |
http://reviews.llvm.org/D14802
llvm-svn: 254019
|