| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
construct.
This is on behalf of Kelvin Li.
http://reviews.llvm.org/D11475
llvm-svn: 244569
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
float_cast_overflow is the only UBSan check without a source location attached.
This patch propagates SourceLocations where necessary to get them to the
EmitCheck() call.
Reviewers: rsmith, ABataev, rjmccall
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11757
llvm-svn: 244568
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Compiler-rt part of http://reviews.llvm.org/D11757
I ended up making UBSan work with both the old version and the new
version of the float_cast_overflow data (instead of just erroring with
the previous version). The old version will try to symbolize its caller.
Now we compile the float_cast_overflow tests without -g, and make sure
we have the source file+line+column.
If you think I'm trying too hard to make sure we can still use both
versions, let me know.
Reviewers: samsonov, rsmith
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11793
llvm-svn: 244567
|
| |
|
|
| |
llvm-svn: 244566
|
| |
|
|
|
|
|
| |
It's no longer "new" because the old COFF linker has been removed.
Update the introduction accordingly.
llvm-svn: 244565
|
| |
|
|
|
|
|
|
| |
Our implementations of these type trait intrinsics simply mapped them to
__has_trivial_destructor. Instead, flesh these intrinsics out with a
full implementation which matches the standard's description.
llvm-svn: 244564
|
| |
|
|
|
|
|
| |
Make sure that an EH pad's predecessors are using their unwind edge to
transfer control to the EH pad.
llvm-svn: 244563
|
| |
|
|
|
|
|
|
|
|
| |
Summary: I somehow forgot to add these when I added the basic floating-point opcodes. Also remove ceil/floor/trunc/nearestint for now, and add them only when properly tested.
Subscribers: llvm-commits, sunfish, jfb
Differential Revision: http://reviews.llvm.org/D11927
llvm-svn: 244562
|
| |
|
|
| |
llvm-svn: 244561
|
| |
|
|
|
|
| |
additions are welcome :)
llvm-svn: 244560
|
| |
|
|
| |
llvm-svn: 244559
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds somewhat basic preparation functionality including:
- Formation of funclets via coloring basic blocks.
- Cloning of polychromatic blocks to ensure that funclets have unique
program counters.
- Demotion of values used between different funclets.
- Some amount of cleanup once we have removed predecessors from basic
blocks.
- Verification that we are left with a CFG that makes some amount of
sense.
N.B. Arguments and numbering still need to be done.
Differential Revision: http://reviews.llvm.org/D11750
llvm-svn: 244558
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
MI.clear() within MCD::OPC_Decode case and inside of translateInstruction() for the X86 target. Remove now unnecessary MI.clear() from ARMDisassembler.
Summary: Explicitly clear the MI operand list when getInstruction() is called.
Reviewers: hfinkel, t.p.northover, hvarga, kparzysz, jyknight, qcolombet, uweigand
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11665
llvm-svn: 244557
|
| |
|
|
|
|
| |
This patche and a related llvm patch solve the problem of having to explicitly enable analysis when specifying a loop hint pragma to get the diagnostics. Passing AlwasyPrint as the pass name (see below) causes the front-end to print the diagnostic if the user has specified '-Rpass-analysis' without an '=<target-pass>’. Users of loop hints can pass that compiler option without having to specify the pass and they will get diagnostics for only those loops with loop hints.
llvm-svn: 244556
|
| |
|
|
|
|
| |
This patch and a relatec clang patch solve the problem of having to explicitly enable analysis when specifying a loop hint pragma to get the diagnostics. Passing AlwasyPrint as the pass name (see below) causes the front-end to print the diagnostic if the user has specified '-Rpass-analysis' without an '=<target-pass>’. Users of loop hints can pass that compiler option without having to specify the pass and they will get diagnostics for only those loops with loop hints.
llvm-svn: 244555
|
| |
|
|
| |
llvm-svn: 244554
|
| |
|
|
|
|
| |
LoopVectorizationLegality and LoopVectorizationCostModel.
llvm-svn: 244552
|
| |
|
|
|
|
|
|
|
|
| |
Summary: convertToHexString doesn't represent them correctly at this point in time. This is a follow-up to sunfish's suggestion in D11914.
Subscribers: llvm-commits, sunfish, jfb
Differential Revision: http://reviews.llvm.org/D11925
llvm-svn: 244551
|
| |
|
|
|
|
| |
Hints::allowVectorization().
llvm-svn: 244550
|
| |
|
|
|
|
|
|
| |
We will use this for ASan on Windows soon. When the ELF port of LLD
matures, we can add other sanitizer integration tests to make sure they
work with LLD.
llvm-svn: 244549
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit serializes the UsedPhysRegMask register mask from the machine
register information class. The mask is serialized as an inverted
'calleeSavedRegisters' mask to keep the output minimal.
This commit also allows the MIR parser to infer this mask from the register
mask operands if the machine function doesn't specify it.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 244548
|
| |
|
|
|
|
| |
module cache for this build.
llvm-svn: 244547
|
| |
|
|
|
|
|
| |
This fixes a minor error checking bug around calling
internal_read/write, and makes the code more portable for D11791.
llvm-svn: 244546
|
| |
|
|
| |
llvm-svn: 244545
|
| |
|
|
| |
llvm-svn: 244544
|
| |
|
|
|
|
| |
This checks that bork_directive occurs exactly twice in the test output.
llvm-svn: 244543
|
| |
|
|
| |
llvm-svn: 244542
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
NaCl is a platform where long double is the same as double.
Its mangling is spelled with "long double" but its ABI lowering is the same
as double.
Reviewers: rnk, chh
Subscribers: jfb, cfe-commits, dschuff
Differential Revision: http://reviews.llvm.org/D11922
llvm-svn: 244541
|
| |
|
|
|
|
| |
This was requested by Hal in D11205.
llvm-svn: 244540
|
| |
|
|
|
|
| |
corresponding include location (those specified on the command line).
llvm-svn: 244538
|
| |
|
|
| |
llvm-svn: 244537
|
| |
|
|
| |
llvm-svn: 244536
|
| |
|
|
| |
llvm-svn: 244535
|
| |
|
|
| |
llvm-svn: 244534
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: These are needed to talk to llvm-symbolizer on Windows.
Reviewers: samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11920
llvm-svn: 244533
|
| |
|
|
| |
llvm-svn: 244532
|
| |
|
|
| |
llvm-svn: 244531
|
| |
|
|
| |
llvm-svn: 244530
|
| |
|
|
| |
llvm-svn: 244529
|
| |
|
|
| |
llvm-svn: 244528
|
| |
|
|
| |
llvm-svn: 244527
|
| |
|
|
|
|
| |
Following one of the appended options will allow the loop to be vectorized. We do not include a command line option for modifying the pointer checking threshold because there is no clang-level interface for this currently.
llvm-svn: 244526
|
| |
|
|
| |
llvm-svn: 244525
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
A test was recently (r244468) added to cover long double calling convention
codegen, distinguishing between Android and GNU conventions (where long doubles
are fp128 and x86_fp80, respectively). Native Client is a target where long
doubles are the same as doubles. This change augments the test to cover
that case.
Also rename the test to test/codeGen/X86_64-longdouble.c
Differential Revision: http://reviews.llvm.org/D11921
llvm-svn: 244524
|
| |
|
|
|
|
| |
This patch moves checking the threshold of runtime pointer checks to the vectorization requirements (late diagnostics) and emits a diagnostic that infroms the user the loop would be vectorized if not for exceeding the pointer-check threshold. Clang will also append the options that can be used to allow vectorization.
llvm-svn: 244523
|
| |
|
|
|
|
|
|
| |
llvm-symbolizer will print parameter types. Split out from D11791.
NFC
llvm-svn: 244522
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A virtual base class and derived class should only poison their
respective members upon destruction. In particular, trivial members should
be poisoned directly, non-trivial members should be poisoned by their
respective destructors, and references to non-trivial members should be
poisoned.
Reviewers: eugenis, kcc
Differential Revision: http://reviews.llvm.org/D11912
Test case avoids casting to access members
Run configurations to reflect expected runtime failure on assertions.
Simplified access to internal members.
Updated internal member structure of base.
Revised assert in main to verify successful poisoning after dtor.
Verify address of pointer is poisoned.
Fixed assert err.
Cleaned up test by removing extraneous prints, asserts.
llvm-svn: 244521
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
For now output using C99's hexadecimal floating-point representation.
This patch also cleans up how machine operands are printed: instead of special-casing per type of machine instruction, the code now handles operands generically.
Reviewers: sunfish
Subscribers: llvm-commits, jfb
Differential Revision: http://reviews.llvm.org/D11914
llvm-svn: 244520
|
| |
|
|
| |
llvm-svn: 244519
|
| |
|
|
| |
llvm-svn: 244518
|