- Apr 06, 2017
-
-
Rui Ueyama authored
scanRelocs() does a lot of things. It fills InputSection's Relocations vector, making a decision whether a TLS relocation should be relaxed or not, and making a decision whether a GOT/PLT slot needs to be created or not. They don't actually have to be done in a single loop. I want to separate them so that some of them can be run concurently. As a first step, this patch moves PLT/GOT slot assignment to beginning of the loop, so that they just fall through to the next statements. This should make it clear that that code doesn't affect other parts of the loop. llvm-svn: 299615
-
Rui Ueyama authored
Relocations are abstracted as platform-independent R_TLS_* relocations, so we don't need to check platform-specific ones to see if a relocation is TLS GD. llvm-svn: 299614
-
Jason Molenda authored
one-socket API. llvm-svn: 299613
-
Jason Molenda authored
and there's a string in there that can be helpful in locating the kernel binary. Use it. <rdar://problem/31444711> llvm-svn: 299612
-
Lang Hames authored
createPairedQueueChannels, to simplify channel creation in the RPC unit tests. llvm-svn: 299611
-
Lang Hames authored
This will allow orcError to be used in convertToErrorCode implementations, which will help in transitioning Orc RPC to Error. llvm-svn: 299610
-
Jim Ingham authored
work around that fact for CommandObjectMemoryWrite. <rdar://problem/31457148> llvm-svn: 299609
-
Jason Molenda authored
both sending and receiving information, instead of using one socket to send and another to receive. The two socket arrangement fails over when a firewall is between the two systems. <rdar://problem/31286757> llvm-svn: 299608
-
Mehdi Amini authored
Can be used as such: $ python /path/to/lit.py -sv /path/to/llvm/build/projects/libcxx/test/ \ --param=use_system_cxx_lib=true \ --param=executor='SSHExecutor("remote.domain", "username")' llvm-svn: 299607
-
Mehdi Amini authored
llvm-svn: 299606
-
Reid Kleckner authored
This is necessary to pass the lit test suite at llvm/utils/lit/tests. There are some pre-existing failures here, but now switching to pools doesn't regress any tests. I had to change test-data/lit.cfg to import DummyConfig from a module to fix pickling problems, but I think it'll be OK if we require test formats to be written in real .py modules outside lit.cfg files. I also discovered that in some circumstances AsyncResult.wait() will not raise KeyboardInterrupt in a timely manner, but you can pass a non-zero timeout to work around this. This makes threading.Condition.wait use a polling loop that runs through the interpreter, so it's capable of asynchronously raising KeyboardInterrupt. llvm-svn: 299605
-
Evgeniy Stepanov authored
llvm-svn: 299604
-
George Burgess IV authored
- Replace documented return values (true/false) with what's actually returned - Doxygenify the comment - Reflow said comment to 80 cols Not overly familiar with Doxygen, so nits are welcome. :) llvm-svn: 299603
-
Peter Collingbourne authored
llvm-svn: 299602
-
George Burgess IV authored
Two simplifications: - We check `!Previous.empty()` above and only use `Previous` in const contexts after that check, so the `!Previous.empty()` check seems redundant. - The null check looks pointless, as well: AFAICT, `LookupResults` should never contain null entries, and `OldDecl` should always be non-null if `Redeclaration` is true. llvm-svn: 299601
-
Rui Ueyama authored
llvm-svn: 299600
-
Petr Hosek authored
When compiler-rt is requested, we should attempt to link compiler-rt builtins library rather than gcc_s. Differential Revision: https://reviews.llvm.org/D31617 llvm-svn: 299599
-
Peter Collingbourne authored
llvm-svn: 299598
-
Meador Inge authored
The commit yesterday (r299473) to add the `-print-resource-dir` option was supposed to emit a newline after the resource dir. Differential Revision: https://reviews.llvm.org/D31447 llvm-svn: 299597
-
Bryant Wong authored
Moving Modules into `testMergedProgram` is incorrect (and causes segmentation faults) since all callers expect to retain ownership. This is evidenced by the later calls to `unique_ptr<Module>::get` in the same function. Differential Revision: https://reviews.llvm.org/D31727 llvm-svn: 299596
-
- Apr 05, 2017
-
-
Rui Ueyama authored
llvm-svn: 299594
-
Rui Ueyama authored
llvm-svn: 299593
-
Rui Ueyama authored
If an output file is too large for 32-bit, we should report an error. llvm-svn: 299592
-
Saleem Abdulrasool authored
It is possible that there are no program headers in the module. Do not attempt to dereference nullptr as a program header. llvm-svn: 299591
-
Rui Ueyama authored
llvm-svn: 299590
-
Keno Fischer authored
Summary: LSV wants to know the maximum size that can be loaded to a vector register. On X86, this always matches the maximum register width. Implement this accordingly and add a test to make sure that LSV can vectorize up to the maximum permissible width on X86. Reviewers: delena, arsenm Reviewed By: arsenm Subscribers: wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D31504 llvm-svn: 299589
-
Pavel Labath authored
This makes sure we are able to run them properly on android. llvm-svn: 299588
-
Sean Callanan authored
The darwin_log tests are very fragile and currently do not properly assess the state of that functionality. I have put them all in their own category, and made that category disabled by default. Differential revision: https://reviews.llvm.org/D31718 llvm-svn: 299587
-
Rafael Espindola authored
There are two cases to consider: We are using the internal shell. This will still fail because of ulimit. We are using an external shell. In this case the difference is that we now also constrain FileCheck to use less than 4 MB of of stack, which it should :-) llvm-svn: 299586
-
Michael Kruse authored
The current StackColoring algorithm does not correctly handle the situation when some, but not all paths from a BB to the entry node cross a llvm.lifetime.start. According to an interpretation of the language reference at http://llvm.org/docs/LangRef.html#llvm-lifetime-start-intrinsic this might be correct, but it would cost too much effort to handle in StackColoring. To be on the safe side, remove all lifetime markers even in the original code version (they have never been copied to the optimized version) to ensure that no path to the entry block will cross a llvm.lifetime.start. The same principle applies to paths the a function return and the llvm.lifetime.end marker, so we remove them as well. This fixes llvm.org/PR32251. Also see the discussion at http://lists.llvm.org/pipermail/llvm-dev/2017-March/111551.html llvm-svn: 299585
-
Ivan Krasin authored
llvm-svn: 299584
-
Ivan Krasin authored
Reason: breaks multiple bots: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/3988 http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/1173 Original Review URL: https://reviews.llvm.org/D31671 llvm-svn: 299583
-
Krzysztof Parzyszek authored
llvm-svn: 299582
-
Rui Ueyama authored
This class doesn't have virtual member functions, and no instances of this class is deleted through base pointers. llvm-svn: 299581
-
Rui Ueyama authored
llvm-svn: 299580
-
Rui Ueyama authored
llvm-svn: 299579
-
Daniel Berlin authored
Summary: Remove all the caching the clobber walker does, and that the caching walker does. With the patch to enable storing clobbering access results for stores, i can find no improvement with the cache turned on (and a number of degradations, both time and memory, from the cost of caching. For a large program i have, we do millions of lookups and inserts with zero hits). I haven't tried to rename or simplify the walker otherwise yet. (Appreciate some perf testing on this past my own testing) Reviewers: george.burgess.iv, davide Subscribers: Prazek, llvm-commits Differential Revision: https://reviews.llvm.org/D31576 llvm-svn: 299578
-
Reid Kleckner authored
Move the test format into a standalone .py file and add it to the site module search path. This allows us to run the test on Windows, and it makes it compatible with the multiprocessing.Pool lit test execution strategy. I think this test was only passing everywhere else because multiprocessing uses 'fork' to spawn workers, so the test format never needs to be pickled. llvm-svn: 299577
-
Petr Hosek authored
Note payloads are padded to a multiple of 4 bytes in size, but the size of the string that should be print can be smaller e.g. the n_descsz field in gold's version note is 9, so that's the whole size of the string that should be printed. The padding is part of the format of a SHT_NOTE section or PT_NOTE segment, but it's not part of the note itself. Printing the extra null bytes may confuse some tools, e.g. when the llvm-readobj is sent to grep, it treats the output as binary because it contains a null byte. Differential Revision: https://reviews.llvm.org/D30804 llvm-svn: 299576
-
Saleem Abdulrasool authored
On certain versions of android x86, the main module `app_process` is not built as PIE. When accessing the PT_GNU_EH_FRAME_HDR in such a scenario, the `dlpi_addr` is 0, but the virtual address is not relocated. Manually rebase the address to avoid an invalid memory access. llvm-svn: 299575
-