- Nov 06, 2018
-
-
Zi Xuan Wu authored
llvm-svn: 346202
-
Max Kazantsev authored
This patch makes LICM use `ICFLoopSafetyInfo` that is a smarter version of LoopSafetyInfo that leverages power of Implicit Control Flow Tracking to keep track of throwing instructions and give less pessimistic answers to queries related to throws. The ICFLoopSafetyInfo itself has been introduced in rL344601. This patch enables it in LICM only. Differential Revision: https://reviews.llvm.org/D50377 Reviewed By: apilipenko llvm-svn: 346201
-
Volodymyr Sapsai authored
The test hits stack overflow trying to instantiate recursive templates. It is observed with ASAN and not with a regular build because ASAN increases stack frame size. rdar://problem/45009892 Reviewers: george.karpenkov, lebedev.ri Reviewed By: george.karpenkov Subscribers: dexonsmith, rjmccall, cfe-commits Differential Revision: https://reviews.llvm.org/D54132 llvm-svn: 346200
-
Max Kazantsev authored
llvm-svn: 346199
-
Max Kazantsev authored
This reverts commit 2f425e9c7946b9d74e64ebbfa33c1caa36914402. It seems that the check that we still should do the transform if we know the result is constant is missing in this code. So the logic that has been deleted by this change is still sometimes accidentally useful. I revert the change to see what can be done about it. The motivating case is the following: @Y = global [400 x i16] zeroinitializer, align 1 define i16 @foo() { entry: br label %for.body for.body: ; preds = %entry, %for.body %i = phi i16 [ 0, %entry ], [ %inc, %for.body ] %arrayidx = getelementptr inbounds [400 x i16], [400 x i16]* @Y, i16 0, i16 %i store i16 0, i16* %arrayidx, align 1 %inc = add nuw nsw i16 %i, 1 %cmp = icmp ult i16 %inc, 400 br i1 %cmp, label %for.body, label %for.end for.end: ; preds = %for.body %inc.lcssa = phi i16 [ %inc, %for.body ] ret i16 %inc.lcssa } We should be able to figure out that the result is constant, but the patch breaks it. Differential Revision: https://reviews.llvm.org/D51584 llvm-svn: 346198
-
Robert Widmann authored
strndup doesn't exist outside of GNU-land and modern macOSes. Use strdup instead as c_str() is guaranteed to be NUL-terminated. llvm-svn: 346197
-
Kamil Rytarowski authored
This code has not been ported so far. llvm-svn: 346196
-
Robert Widmann authored
Summary: Improve the intrinsic bindings with operations for - Retrieving and automatically inserting the declaration of an intrinsic by ID - Retrieving the name of a non-overloaded intrinsic by ID - Retrieving the name of an overloaded intrinsic by ID and overloaded parameter types Improve the echo test to copy non-overloaded intrinsics by ID. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D53626 llvm-svn: 346195
-
Kamil Rytarowski authored
NetBSD's current behavior needs to ignore check for InFuzzingThread() in Fuzzer::AlarmCallback(). llvm-svn: 346194
-
George Karpenkov authored
value-profile-cmp was always flaky, and OOM fails to work in some environments. counters.test fails when vectorization is enabled, and it is more likely to kick in when compiling for ARM. Differential Revision: https://reviews.llvm.org/D54004 llvm-svn: 346193
-
Mandeep Singh Grang authored
This reverts commit cc3d3cd0fbeb88412d332354c261ff139c4ede6b. llvm-svn: 346192
-
Mandeep Singh Grang authored
Summary: This is fifth in a series of patches to move intrinsic definitions out of intrin.h. Reviewers: rnk, efriedma, mstorsjo, TomTan Reviewed By: efriedma Subscribers: javed.absar, kristof.beyls, chrib, jfb, kristina, cfe-commits Differential Revision: https://reviews.llvm.org/D54065 llvm-svn: 346191
-
Mandeep Singh Grang authored
This is fourth in a series of patches to move intrinsic definitions out of intrin.h. llvm-svn: 346190
-
Mandeep Singh Grang authored
Summary: This is third in a series of patches to move intrinsic definitions out of intrin.h. Reviewers: rnk, efriedma, mstorsjo, TomTan Reviewed By: efriedma Subscribers: javed.absar, kristof.beyls, chrib, jfb, kristina, cfe-commits Differential Revision: https://reviews.llvm.org/D54062 llvm-svn: 346189
-
Craig Topper authored
llvm-svn: 346188
-
Sam Clegg authored
This reverts rL345880. It caused some test failures on the webassembly waterfall. e.g. binaryen2.test_mainenv fails due the fact that `envp` ends up being undef rather than 0. Differential Revision: https://reviews.llvm.org/D54117 llvm-svn: 346187
-
Davide Italiano authored
llvm-svn: 346186
-
Justin Bogner authored
These were failing when specifying LLVM_DEFAULT_TARGET_TRIPLE='' llvm-svn: 346185
-
Matthias Braun authored
llvm-svn: 346184
-
Matthias Braun authored
MachineFunction can only be used in code using lib/CodeGen, hence we can keep a more specific reference to LLVMTargetMachine rather than just TargetMachine around. Do the same for references in ScheduleDAG and RegUsageInfoCollector. llvm-svn: 346183
-
Matthias Braun authored
MachineModuleInfo can only be used in code using lib/CodeGen, hence we can keep a more specific reference to LLVMTargetMachine rather than just TargetMachine around. llvm-svn: 346182
-
Fangrui Song authored
Some executables have non-empty types CU list and -gdb-index would report "<error reporting>" before. llvm-svn: 346181
-
Craig Topper authored
[TargetLowering] Change TargetLoweringBase::getPreferredVectorAction to take an MVT instead of an EVT. NFC The main caller of this already has an MVT and several targets called getSimpleVT inside without checking isSimple. This makes the simpleness explicit. llvm-svn: 346180
-
- Nov 05, 2018
-
-
Nathan Lanza authored
Summary: On rare occasions, the address, instruction and arguments of a line of assembly in the CreateSource printout would reach > 60 characters. The function would integer overflow and try to indent a line by `0xfff...`. Change the calculated offset to be the maximum of 60 or `line_strm.str().size()` Reviewers: clayborg, xiaobai Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D52745 llvm-svn: 346179
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D53223 llvm-svn: 346178
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D53222 llvm-svn: 346177
-
Jonas Toth authored
llvm-svn: 346176
-
Volkan Keles authored
This reverts r346166 as it breaks test-suite-verify-machineinstrs-aarch64-globalisel-O0-g. llvm-svn: 346175
-
Nathan Lanza authored
Summary: A file opened in text mode on Windows will have `\n` automatically changed to `13,10` while Darwin and Linux leave it as `10`. Set the file to binary mode to avoid this automatic conversion so that Darwin, Linux and Windows have equivalent treatment of `\r`. Reviewers: clayborg, xiaobai Reviewed By: clayborg Subscribers: emaste, ki.stfu, mgorny, eraman, JDevlieghere, mgrang Differential Revision: https://reviews.llvm.org/D52672 llvm-svn: 346174
-
Jonas Toth authored
llvm-svn: 346173
-
Adrian Prantl authored
llvm-svn: 346172
-
Nathan Lanza authored
Summary: pcm files can end up being processed by lldb with relocations to be made for the .debug_info section. When a R_AARCH64_ABS64 relocation was required lldb would hit an `assert(false)` and die. Add R_AARCH64_ABS64 relocations to the S+A 64 bit width code path. Add a test for R_AARCH64_ABS64 and R_AARCH64_ABS32 .rela.debug_info relocations in a pcm file. Reviewers: sas, xiaobai, davide, javed.absar, espindola Reviewed By: davide Subscribers: labath, zturner, emaste, mgorny, arichardson, kristof.beyls Differential Revision: https://reviews.llvm.org/D51566 llvm-svn: 346171
-
Craig Topper authored
[X86] Don't turn any_extend from a mask register into a sign_extend during lowering. Add patterns to match any_extend during isel instead. SimplifyDemandedBits can turn a sign_extend back into an any_extend and trigger an infinite loop. So instead legalize it the same way as a sign_extend, but preserve the opcode. Then just pattern match it the same as sign_extend during isel. I don't have a reduced test case for such an infinite loop yet. llvm-svn: 346170
-
Sanjay Patel authored
This is NFCI for InstCombine because it calls InstSimplify, so I left the tests for this transform there. As noted in the code comment, we can allow this fold more often by using FMF and/or value tracking. llvm-svn: 346169
-
Sanjay Patel authored
These are translated from InstCombine's test file with the same name. We should move the transform from InstCombine to InstSimplify. llvm-svn: 346168
-
Dan Albert authored
Landed more fixes to the compiler-rt Android tests. Original review was https://reviews.llvm.org/D53109. llvm-svn: 346167
-
Volkan Keles authored
Reviewers: aditya_nandakumar Reviewed By: aditya_nandakumar Subscribers: rovka, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D54116 llvm-svn: 346166
-
Adrian Prantl authored
Clang recently improved its DWARF support for C VLA types. The DWARF now looks like this: 0x00000051: DW_TAG_variable [4] DW_AT_location( fbreg -32 ) DW_AT_name( "__vla_expr" ) DW_AT_type( {0x000000d3} ( long unsigned int ) ) DW_AT_artificial( true ) ... 0x000000da: DW_TAG_array_type [10] * DW_AT_type( {0x000000cc} ( int ) ) 0x000000df: DW_TAG_subrange_type [11] DW_AT_type( {0x000000e9} ( __ARRAY_SIZE_TYPE__ ) ) DW_AT_count( {0x00000051} ) Without this patch LLDB will naively interpret the DIE offset 0x51 as the static size of the array, which is clearly wrong. This patch extends ValueObject::GetNumChildren to query the dynamic properties of incomplete array types. See the testcase for an example: 4 int foo(int a) { 5 int vla[a]; 6 for (int i = 0; i < a; ++i) 7 vla[i] = i; 8 -> 9 pause(); // break here 10 return vla[a-1]; 11 } (lldb) fr v vla (int []) vla = ([0] = 0, [1] = 1, [2] = 2, [3] = 3) (lldb) quit rdar://problem/21814005 Differential Revision: https://reviews.llvm.org/D53530 llvm-svn: 346165
-
Jordan Rupprecht authored
Summary: llvm-readobj/readelf accepts both -s and -S as aliases for --sections. However with GNU readelf only -S means --section, and -s means --symbols. I would like to make llvm-readelf more compatible. Reviewers: MaskRay, espindola Reviewed By: MaskRay Subscribers: emaste, arichardson, steven_wu, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D54118 llvm-svn: 346164
-
Alexandre Ganea authored
llvm-svn: 346163
-