- Mar 24, 2018
-
-
Vitaly Buka authored
llvm-svn: 328414
-
Craig Topper authored
llvm-svn: 328413
-
Craig Topper authored
llvm-svn: 328412
-
Craig Topper authored
The outer switch only had one valid block so didn't provide any value. llvm-svn: 328411
-
Craig Topper authored
The 3DNow instructions are encoded a little weird, but we can still represent it as an opcode map. llvm-svn: 328410
-
Zhihao Yuan authored
Summary: As the title says, this makes following code compile: ``` template<typename> struct Foo {}; Foo() -> Foo<void>; Foo f; // ok ``` Thanks Nicolas Lesser for coining the fix. Reviewers: rsmith, lichray Reviewed By: rsmith, lichray Subscribers: lichray, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D38216 llvm-svn: 328409 -
Eric Christopher authored
llvm-svn: 328408
-
Alex Shlyapnikov authored
Differential Revision: https://reviews.llvm.org/D44705 llvm-svn: 328407
-
George Karpenkov authored
When the call expression is not available. llvm-svn: 328406
-
Craig Topper authored
These nodes only use the lower 32 bits of their inputs so we can use SimplifyDemandedBits to simplify them. Differential Revision: https://reviews.llvm.org/D44375 llvm-svn: 328405
-
Richard Trieu authored
llvm-svn: 328404
-
Alex Shlyapnikov authored
llvm-svn: 328403
-
Rafael Espindola authored
There were a few too many places duplicating this. llvm-svn: 328402
-
Rui Ueyama authored
Previously, we used 0 as an alias for VER_NDX_GLOBAL and had a dummy entry in SharedFile::Verdefs so that the access to the array is within its boundary. But that's not straightforwad. We can just stop doing both. llvm-svn: 328401
-
Eric Christopher authored
offsets for code models other than small/medium. For JIT application, memory layout is less controlled and can result in truncations otherwise. Patch based on one by Olexa Bilaniuk! llvm-svn: 328400
-
David Blaikie authored
Fixes layering, since Transforms/Utils doesn't depend on CodeGen, so shouldn't include headers from it. llvm-svn: 328399
-
Craig Topper authored
Should be NFC since nothing used the enum value. The instruction descriptions are generated from tablegen which had the correct value. llvm-svn: 328398
-
David Blaikie authored
ValueTypes.h is implemented in IR already. llvm-svn: 328397
-
David Blaikie authored
It's also used by utils/TableGen so needs to reside somewhere common to TableGen and CodeGen. llvm-svn: 328396
-
David Blaikie authored
This is used by llvm tblgen as well as by LLVM Targets, so the only common place is Support for now. (maybe we need another target for these sorts of things - but for now I'm at least making them correct & we can make them better if/when people have strong feelings) llvm-svn: 328395
-
David Blaikie authored
This includes llvm-c/TargetMachine.h which is logically part of libTarget (since libTarget implements llvm-c/TargetMachine.h's functions). llvm-svn: 328394
-
David Blaikie authored
This is used from llvm tblgen and the X86Disassembler - the only common library (apart from TableGen, which probably doesn't make sense to have as a dependency from a release tool (rather than a use-while-building-llvm tool) of LLVM) llvm-svn: 328393
-
David Blaikie authored
It's implemented in Target & include from other Target headers, so the header should be in Target. llvm-svn: 328392
-
Rafael Espindola authored
Since SectionBase::getOutputSection handles ICF replaces and SectionBase::getOffset was handling it in some cases, it is more consistent to have getOffset always handle it. llvm-svn: 328391
-
Rafael Espindola authored
SectionBase::getOutputSection handles replacement sections, so this code doesn't have to. llvm-svn: 328390
-
Jim Ingham authored
<rdar://problem/36035075>, <rdar://problem/36035039> llvm-svn: 328389
-
Eric Fiselier authored
This partially reverts commit r328261. The GCC bug has been fixed in trunk and has never existed in a released version. Therefore the changes to variant are unneeded. However, the additional tests have been left in place. llvm-svn: 328388
-
Philip Reames authored
llvm-svn: 328387
-
Reid Kleckner authored
Both GCC and MSVC only look at the low byte of a boolean when it is passed. llvm-svn: 328386
-
Alex Shlyapnikov authored
Summary: Porting HWASan to Linux x86-64, first of the three patches, compiler-rt part. The approach is similar to ARM case, trap signal is used to communicate memory tag check failure. int3 instruction is used to generate a signal, access parameters are stored in nop [eax + offset] instruction immediately following the int3 one Had to add HWASan init on malloc because, due to much less interceptors defined (most other sanitizers intercept much more and get initalized via one of those interceptors or don't care about malloc), HWASan was not initialized yet when libstdc++ was trying to allocate memory for its own fixed-size heap, which led to CHECK-fail in AllocateFromLocalPool. Also added the CHECK() failure handler with more detailed message and stack reporting. Reviewers: eugenis Subscribers: kubamracek, dberris, mgorny, kristof.beyls, delcypher, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D44705 llvm-svn: 328385
-
Matt Morehouse authored
Summary: Disables certain CMP optimizations to improve fuzzing signal under -O1 and -O2. Switches all fuzzer tests to -O2 except for a few leak tests where the leak is optimized out under -O2. Reviewers: kcc, vitalybuka Reviewed By: vitalybuka Subscribers: cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D44798 llvm-svn: 328384
-
Jason Molenda authored
installing in the man page directory. llvm-svn: 328383
-
Jason Molenda authored
llvm-svn: 328382
-
Rui Ueyama authored
A bug in BFD linker is not our FIXME item. llvm-svn: 328381
-
David Blaikie authored
llvm-svn: 328380
-
David Blaikie authored
llvm-svn: 328379
-
Davide Italiano authored
This one will be used to print statistics about lldb sessions (including, e.g. number of expression evaluation succeeded or failed). I decided to commit the skeleton first so that we have a clean reference on how a command should be implemented. My future commits are going to populate this command and test it. <rdar://problem/36555975> llvm-svn: 328378
-
Fedor Sergeev authored
Summary: This was motivated by absence of PrunEH functionality in new PM. It was decided that a proper way to do PruneEH is to add NoUnwind inference into PostOrderFunctionAttrs and then perform normal SimplifyCFG on top. This change generalizes attribute handling implemented for (a removal of) Convergent attribute, by introducing a generic builder-like class AttributeInferer It registers all the attribute inference requests, storing per-attribute predicates into a vector, and then goes through an SCC Node, scanning all the instructions for not breaking attribute assumptions. The main idea is that as soon all the instructions from all the functions of SCC Node conform to attribute assumptions then we are free to infer the attribute as set for all the functions of SCC Node. It handles two distinct cases of attributes: - those that might break due to derefinement of the function code for these attributes we are allowed to apply inference only if all the functions are "exact definitions". Example - NoUnwind. - those that do not care about derefinement for these attributes we are allowed to apply inference as soon as we see any function definition. Example - removal of Convergent attribute. Also in this commit: * Converted all the FunctionAttrs tests to use FileCheck and added new-PM invocations to them * FunctionAttrs/convergent.ll test demonstrates a difference in behavior between new and old PM implementations. Marked with FIXME. * PruneEH tests were converted to new-PM as well, using function-attrs+simplify-cfg combo as intended * some of "other" tests were updated since function-attrs now infers 'nounwind' even for old PM pipeline * -disable-nounwind-inference hidden option added as a possible workaround for a supposedly rare case when nounwind being inferred by default presents a problem Reviewers: chandlerc, jlebar Reviewed By: jlebar Subscribers: eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D44415 llvm-svn: 328377 -
Vitaly Buka authored
Summary: Intercepts lstat, acct, access, faccessat and strlcpy/strlcat Patch by David CARLIER Reviewers: visa, vitalybuka Subscribers: krytarowski, fedor.sergeev, srhines, kubamracek, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D44432 llvm-svn: 328376
-
Vitaly Buka authored
Breaks Darwin. This reverts commit r328369. llvm-svn: 328375
-