- Feb 19, 2019
-
-
George Rimar authored
Fix BB after r354319 "[yaml2obj] - Do not skip zeroes blocks if there are relocations against them." Fix: move the test to x86 folder. Seems it is needed, because llvm-objdump invocation used in test has -D (disasm) flag. BB: http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/23016 /local/buildbot/slaves/hexagon-build-02/clang-hexagon-elf/stage1/bin/llvm-objdump: error: '/local/buildbot/slaves/hexagon-build-02/clang-hexagon-elf/stage1/test/tools/llvm-objdump/Output/disasm-zeroes-relocations.test.tmp': can't find target: : error: unable to get target for 'x86_64--', see --version and --triple. . llvm-svn: 354322
-
George Rimar authored
This is for -D -reloc combination. With this patch, we do not skip the zero bytes that have a relocation against them when -reloc is used. If -reloc is not used, then the behavior will be the same. Differential revision: https://reviews.llvm.org/D58174 llvm-svn: 354319
-
George Rimar authored
This fixes https://bugs.llvm.org/show_bug.cgi?id=40339 Previously if the addresses were set in YAML they were ignored for .dynsym and .dynstr sections. The patch fixes that. Differential revision: https://reviews.llvm.org/D58168 llvm-svn: 354318
-
Diana Picus authored
Both files mentioned in the comment now include TargetOpcodes.def. Just mention that directly. llvm-svn: 354316
-
Simon Atanasyan authored
llvm-svn: 354315
-
Max Kazantsev authored
We are planning to be able to delete the current loop in LoopSimplifyCFG in the future. Add API to notify the loop pass manager that it happened. llvm-svn: 354314
-
Max Kazantsev authored
llvm-svn: 354313
-
Simon Atanasyan authored
MIPS R6 code uses the `R_MIPS_PC26_S2` relocation for calls which might cross boundaries of non-PIC-to-PIC code. We need to create a LA25 thunks for that case. llvm-svn: 354312
-
Simon Atanasyan authored
The patch solves two tasks: 1. MIPS ABI allows to mix regular and microMIPS code and perform cross-mode jumps. Linker needs to detect such cases and replace jump/branch instructions by their cross-mode equivalents. 2. Other tools like dunamic linkers need to recognize cases when dynamic table entries, e_entry field of an ELF header etc point to microMIPS symbol. Linker should provide such information. The first task is implemented in the `MIPS<ELFT>::relocateOne()` method. New routine `fixupCrossModeJump` detects ISA mode change, checks and replaces an instruction. The main problem is how to recognize that relocation target is microMIPS symbol. For absolute and section symbols compiler or assembler set the less-significant bit of the symbol's value or sum of the symbol's value and addend. And this bit signals to linker about microMIPS code. For global symbols compiler cannot do the same trick because other tools like, for example, disassembler wants to know an actual position of the symbol. So compiler sets STO_MIPS_MICROMIPS flag in the `st_other` field. In `MIPS<ELFT>::relocateOne()` method we have a symbol's value only and cannot access any symbol's attributes. To pass type of the symbol (regular/microMIPS) to that routine as well as other places where we write a symbol value as-is (.dynamic section, `Elf_Ehdr::e_entry` field etc) we set when necessary a less-significant bit in the `getSymVA` function. Differential revision: https://reviews.llvm.org/D40147 llvm-svn: 354311
-
Diana Picus authored
Same as arm mode. llvm-svn: 354310
-
Pavel Labath authored
encode/decode the data before sending it over the socket. Since (AFAICT) the vscode protocol (unlike the gdb-remote one) is fully textual, using the utf8 codec here is appropriate. llvm-svn: 354308
-
Pavel Labath authored
instead of printf-ing into a buffer, and them using that buffer as a format string, simply use the appropriate indirect format string. This also fixes a -Wformat-truncation warning with gcc. llvm-svn: 354307
-
Fangrui Song authored
Summary: After (x,y) is inserted, depth-based search finds all affected v that satisfies: depth(nca(x,y))+1 < depth(v) && there exists a path P from y to v where every w on P satisfies depth(v) <= depth(w) This reduces to a widest path problem (maximizing the depth of the minimum vertex in the path) which can be solved by a modified version of Dijkstra with a bucket queue (named depth-based search in the paper). The algorithm visits vertices in decreasing order of bucket number. However, the current code misused priority_queue to extract them in increasing order. I cannot think of a failing scenario but it surely may process vertices more than once due to the local usage of Processed. This patch fixes this bug and simplifies/optimizes the code a bit. Also add more comments. Reviewers: kuhar Reviewed By: kuhar Subscribers: kristina, jdoerfert, llvm-commits, NutshellySima, brzycki Tags: #llvm Differential Revision: https://reviews.llvm.org/D58349 llvm-svn: 354306
-
Craig Topper authored
These should always follow the CPU string. There's no reason to control them independently. llvm-svn: 354304
-
Jonas Devlieghere authored
Although the functionality was already present, it wasn't tested. llvm-svn: 354303
-
Jonas Devlieghere authored
The instrumentation framework requires return values of custom classes and structs to be wrapped in the LLDB_RECORD_RESULT macro. llvm-svn: 354301
-
Jonas Devlieghere authored
Importing cxx modules doesn't seem to work on Windows: error: a.out :: Class 'tagARRAYDESC' has a member 'tdescElem' of type 'tagTYPEDESC' which does not have a complete definition. error: a.out :: Class 'tagPARAMDESCEX' has a member 'varDefaultValue' of type 'tagVARIANT' which does not have a complete definition. llvm-svn: 354300
-
Jessica Paquette authored
Legalize/select llvm.ctlz.* Add select-ctlz to show that we actually select them. Update arm64-clrsb.ll and arm64-vclz.ll to show that we perform valid transformations in optimized builds, and document where GISel can improve. Differential Revision: https://reviews.llvm.org/D58155 llvm-svn: 354299
-
Sanjay Patel authored
The motivating x86 cases for forming the intrinsic are shown in PR31754 and PR40487: https://bugs.llvm.org/show_bug.cgi?id=31754 https://bugs.llvm.org/show_bug.cgi?id=40487 ..and those are shown in the IR test file and x86 codegen file. Matching the usubo pattern is harder than uaddo because we have 2 independent values rather than a def-use. This adds a TLI hook that should preserve the existing behavior for uaddo formation, but disables usubo formation by default. Only x86 overrides that setting for now although other targets will likely benefit by forming usbuo too. Differential Revision: https://reviews.llvm.org/D57789 llvm-svn: 354298
-
Davide Italiano authored
llvm-svn: 354297
-
Jan Korous authored
llvm-svn: 354296
-
Changpeng Fang authored
AMDGPU: Use MachineInstr::mayAlias to replace areMemAccessesTriviallyDisjoint in LoadStoreOptimizer pass. Summary: This is to fix a memory dependence bug in LoadStoreOptimizer. Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D58295 llvm-svn: 354295
-
- Feb 18, 2019
-
-
Jonas Devlieghere authored
The test had an implicit constructor for the Foo struct. Also, as the instrumentation doesn't have to be reproducer specific, I moved the tests into the lit/tools directory. llvm-svn: 354294
-
Matt Arsenault authored
llvm-svn: 354293
-
Matt Arsenault authored
llvm-svn: 354292
-
Jan Korous authored
This reverts commit e2bb3121. + fixed test for Windows llvm-svn: 354291
-
Julian Lettner authored
llvm-svn: 354290
-
Jason Molenda authored
unused IsSBProcess method, and have IsFBSProcess return false if we don't have API that we can use to make that determination, so we'll try other API if we can. llvm-svn: 354289
-
Jason Molenda authored
do the right thing when both API are available. We want to try both of them if the first one fails. llvm-svn: 354288
-
Jason Molenda authored
mac native. llvm-svn: 354287
-
Davide Italiano authored
llvm-svn: 354286
-
Petr Hosek authored
This include doesn't seem to be needed for the standalone build (it's not being used by libc++ build either), but introduces unnecessary dependency because HandleOutOfTreeLLVM performs checks that require a working C++ library. We shouldn't require a working C++ library to build libc++abi or libc++ (it's what we're building after all). Differential Revision: https://reviews.llvm.org/D58333 llvm-svn: 354284
-
Jonas Devlieghere authored
In r353906 we hooked up clang and lldb's reproducer infrastructure to capture files used by clang. This patch adds the necessary logic to have clang reuse the files from lldb's reproducer during replay. Differential revision: https://reviews.llvm.org/D58309 llvm-svn: 354283
-
Julian Lettner authored
In compiler-rt we have the notion of a `fast` and a `slow` stack unwinder. Darwin currently only supports the fast unwinder. From reading the code, my understanding is that `BufferedStackTrace::Unwind` can be called with `bp=0, stack_top=0, stack_bottom=0, request_fast_unwind=false`. If `request_fast_unwind=true`, then we alos need to supply bp, stack_top, and stack_bottom. However, `BufferedStackTrace::Unwind` uses `StackTrace::WillUseFastUnwind` which will adapt `request_fast_unwind` if the requested unwinder is not supported. On Darwin, the result is that we don't pass actual values for bp, stack_top, and stack_bottom, but end up using the fast unwinder. The tests then fail because we only print the topmost stack frame. This patch adds a check to `WillUseFastUnwind` at the point of usage to avoid the mismatch between `request_fast_unwind` and what `Unwind` actually does. I am also interested in cleaning up the `request_fast_unwind` machinery so this patch just the simplest thing possible so I can enable the tests. Reviewers: vitalybuka, vsk Differential Revision: https://reviews.llvm.org/D58156 llvm-svn: 354282
-
Matt Arsenault authored
Fixes cases with odd vectors that break into multiple requested size pieces. llvm-svn: 354280
-
Sanjay Patel authored
Similar to D57867 - this is a small patch with lots of test diffs. With half-vector-width narrowing potential, using an extract + 128-bit vshufps is a win because it replaces a 256-bit shuffle with a 128-bit shufle. This seems like it should be a win even for targets with 'fast-variable-shuffle', but we are intentionally deferring that to an independent change to make sure that is true. Differential Revision: https://reviews.llvm.org/D58181 llvm-svn: 354279
-
Pavel Labath authored
It turns out all that was needed to get this test passing was to fix the python3 incompatibility. llvm-svn: 354278
-
Sanjay Patel authored
This reverts commit 079b610c. Bots are failing after this change on a stage 2 compile of clang. llvm-svn: 354277
-
Sanjay Patel authored
We want to use the sum in the icmp to allow matching with m_UAddWithOverflow and eliminate the 'not'. This is discussed in D51929 and is another step towards solving PR14613: https://bugs.llvm.org/show_bug.cgi?id=14613 Name: uaddsat, -1 fval %notx = xor i32 %x, -1 %a = add i32 %x, %y %c = icmp ugt i32 %notx, %y %r = select i1 %c, i32 %a, i32 -1 => %a = add i32 %x, %y %c2 = icmp ugt i32 %y, %a %r = select i1 %c2, i32 -1, i32 %a Name: uaddsat, -1 fval + ult %notx = xor i32 %x, -1 %a = add i32 %x, %y %c = icmp ult i32 %y, %notx %r = select i1 %c, i32 %a, i32 -1 => %a = add i32 %x, %y %c2 = icmp ugt i32 %y, %a %r = select i1 %c2, i32 -1, i32 %a https://rise4fun.com/Alive/nTp llvm-svn: 354276
-
Pavel Labath authored
- dictionaries don't have iteritems() - division returns floats llvm-svn: 354273
-