| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 233639
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Move lib/Fuzzer docs from a README.txt to a proper .rst file.
This change does not add any content, just formatting.
Test Plan: n/a
Reviewers: samsonov
Reviewed By: samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8710
llvm-svn: 233638
|
| |
|
|
|
|
| |
one so far, print it.
llvm-svn: 233637
|
| |
|
|
|
|
|
|
| |
Generate tables in the .xdata section representing what actions to take
when an exception is thrown. This currently fills in state for
cleanups, catch handlers are still unfinished.
llvm-svn: 233636
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When we expand the RET_ReallyLR pseudo instruction we also need to transfer the
implicit operands.
The return register is an implicit operand and without it the liveness
calculation generates an incorrect live-out set for the patchpoint.
This fixes rdar://problem/19068476.
llvm-svn: 233635
|
| |
|
|
| |
llvm-svn: 233624
|
| |
|
|
|
|
|
| |
BPF has cpu_to_be and cpu_to_le instructions.
For now assume little endian and generate cpu_to_be for ISD::BSWAP.
llvm-svn: 233620
|
| |
|
|
|
|
|
| |
fix build broken due to r233599.
Would still need to switch to MDLocation long term.
llvm-svn: 233619
|
| |
|
|
| |
llvm-svn: 233615
|
| |
|
|
| |
llvm-svn: 233614
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds a simple DFSan-based (i.e. taint-guided) fuzzer mutator,
see the comments for details.
Test Plan: a test added
Reviewers: samsonov, pcc
Reviewed By: samsonov, pcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8669
llvm-svn: 233613
|
| |
|
|
| |
llvm-svn: 233612
|
| |
|
|
| |
llvm-svn: 233611
|
| |
|
|
|
|
|
| |
There's no benefit to using `DebugLoc` here. Moreover, this will let a
follow-up commit work with `MDScope` directly instead of `DebugLoc`.
llvm-svn: 233610
|
| |
|
|
| |
llvm-svn: 233609
|
| |
|
|
| |
llvm-svn: 233608
|
| |
|
|
| |
llvm-svn: 233607
|
| |
|
|
|
|
|
| |
terminal rule.
Spot by code inspection.
llvm-svn: 233606
|
| |
|
|
|
|
|
|
|
|
| |
pointee type
This pushes the use of PointerType::getElementType up into several
callers - I'll essentially just have to keep pushing that up the stack
until I can eliminate every call to it...
llvm-svn: 233604
|
| |
|
|
|
|
|
|
|
| |
Keep a note in the materializer that we are stripping debug info so that
user doing a lazy read of the module don't hit outdated formats.
Thanks to Duncan for suggesting the fix.
llvm-svn: 233603
|
| |
|
|
|
|
|
| |
Don't use `DebugLoc::getFnDebugLoc()`, which creates new `MDLocation`s,
in the backend. We just want to grab the subprogram here anyway.
llvm-svn: 233601
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove old API for `DebugLoc` now that all the callers have been
updated. If this broke your out-of-tree build, here's a quick map from
the old API to the new one:
DebugLoc DebugLoc::getFromMDLocation(MDNode *)
=> DebugLoc::DebugLoc(MDLocation *)
=> explicit DebugLoc::DebugLoc(MDNode *) // works with broken code
MDNode *DebugLoc::getAsMDNode(LLVMContext &)
=> MDLocation *DebugLoc::get()
=> DebugLoc::operator MDLocation *()
=> MDNode *DebugLoc::getAsMDNode() // works with broken code
bool DebugLoc::isUnknown()
=> DebugLoc::operator MDLocation *()
i.e.: if (MDLocation *DL = ...)
=> DebugLoc::operator bool() // works with broken code
i.e.: if (DebugLoc DL = ...)
void DebugLoc::getScopeAndInlinedAt(MDNode *&, MDNode *&)
=> use: MDNode *DebugLoc::getScope()
and: MDLocation *DebugLoc::getInlinedAt()
MDNode *DebugLoc::getScopeNode(LLVMContext &)
=> MDNode *DebugLoc::getInlinedAtScope()
void DebugLoc::dump(LLVMContext &)
=> void DebugLoc::dump()
void DebugLoc::getFnDebugLoc(LLVMContext &)
=> void DebugLoc::getFnDebugLoc()
MDNode *DebugLoc::getScope(LLVMContext &)
=> MDNode *DebugLoc::getScope()
MDNode *DebugLoc::getInlinedAt(LLVMContext &)
=> MDLocation *DebugLoc::getInlinedAt()
I've noted above the only functions that won't crash on broken code (due
to downcasting to `MDLocation`). If your code could be dealing with
broken IR (i.e., you haven't run the verifier yet, or you've used a
temporary node that will eventually (but not yet) get RAUW'ed to an
`MDLocation`), you need to restrict yourself to those.
llvm-svn: 233599
|
| |
|
|
| |
llvm-svn: 233598
|
| |
|
|
|
|
| |
CodeGenPrepare and SimplifyLibCalls
llvm-svn: 233596
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes the visibility of symbols in certain edge cases involving aliases
with multiple levels of indirection.
Fixes PR19582.
Differential Revision: http://reviews.llvm.org/D8586
llvm-svn: 233595
|
| |
|
|
|
|
| |
Update lib/Analysis and lib/Transforms to use the new `DebugLoc` API.
llvm-svn: 233587
|
| |
|
|
|
|
|
|
| |
Update lib/IR and lib/Bitcode to use the new `DebugLoc` API. Added an
explicit conversion to `bool` (avoiding a conversion to `MDLocation`),
since a couple of these use cases need to handle broken code.
llvm-svn: 233585
|
| |
|
|
|
|
|
|
|
|
| |
When a new SM architecture is introduced, it is only supported by the
current PTX version and later. Make sure we are using at least the
minimum PTX version for the target architecture.
This also removes support for PTX ISA < 3.2.
llvm-svn: 233583
|
| |
|
|
|
|
| |
Update lib/CodeGen (and lib/Target) to use the new `DebugLoc` API.
llvm-svn: 233582
|
| |
|
|
| |
llvm-svn: 233580
|
| |
|
|
| |
llvm-svn: 233578
|
| |
|
|
| |
llvm-svn: 233577
|
| |
|
|
| |
llvm-svn: 233575
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewrite `DebugLoc` with a cleaner API that reflects its current status
as a wrapper around an `MDLocation` pointer.
- Add accessors/constructors to/from `MDLocation`.
- Simplify construction from `MDNode`.
- Remove unnecessary `LLVMContext` from APIs.
- Drop some API that isn't useful any more.
- Rewrite documentation.
Actually, I've left the old API behind temporarily at the bottom of the
class so that I can update callers in separate commits. I'll remove it
once the callers are updated.
llvm-svn: 233573
|
| |
|
|
|
|
|
|
|
| |
Write `MDLocation::getInlinedAtScope()` and use it to re-implement
`DebugLoc::getScopeNode()` (and simplify `DISubprogram::Verify()`).
This follows the inlined-at linked list and returns the scope of the
deepest/last location.
llvm-svn: 233568
|
| |
|
|
| |
llvm-svn: 233565
|
| |
|
|
|
|
|
| |
Simplify the logic in `DISubprogram::Verify()` by using the new debug
info hierarchy directly instead of the `DebugLoc` wrapper.
llvm-svn: 233563
|
| |
|
|
|
|
|
|
|
|
| |
Stop worrying about what the `function:` field is in `MDSubprogram`,
since it could be a bitcast [1]. Just check its type and leave it at
that.
[1]: http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/3540/
llvm-svn: 233562
|
| |
|
|
|
|
|
|
|
|
| |
Add operand checks for `MDLexicalBlock` and `MDLexicalBlockFile`. Like
`MDLocalVariable` and `MDLocation`, these nodes always require a scope.
There was no test bitrot to fix here (just updated the serialization
tests in test/Assembler/mdlexicalblock.ll).
llvm-svn: 233561
|
| |
|
|
|
|
|
|
|
|
|
| |
Check operands of `MDSubprogram`s in the verifier, and update the
accessors and factory functions to use more specific types.
There were a lot of broken testcases, which I fixed in r233466. If you
have out-of-tree tests for debug info, you probably need similar changes
to the ones I made there.
llvm-svn: 233559
|
| |
|
|
| |
llvm-svn: 233558
|
| |
|
|
|
|
| |
Following r233392, http://llvm.org/viewvc/llvm-project?rev=233392&view=rev.
llvm-svn: 233555
|
| |
|
|
| |
llvm-svn: 233554
|
| |
|
|
|
|
| |
The group names are always symbol names, so we can use a StringRef.
llvm-svn: 233545
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compiling the following function with -O0 would crash, since LLVM would
hit an assertion in getTestUnderMaskCond:
int test(unsigned long x)
{
return x >= 0 && x <= 15;
}
Fixed by detecting the case in the caller of getTestUnderMaskCond.
llvm-svn: 233541
|
| |
|
|
|
|
| |
As was done for X86 in r206094.
llvm-svn: 233540
|
| |
|
|
|
|
|
|
|
|
|
| |
These sections are never looked up and we know when have to create them. Use
that to save adding them to the regular map and avoid a symbol->string->symbol
conversion for the group symbol.
This also makes the implementation independent of the details of how unique
sections are implemented.
llvm-svn: 233539
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The 'R' constraint is actually supposed to be much more complicated than
this and is defined in terms of whether it will cause macro expansion in
the assembler. 'R' is getting less useful due to architecture changes and
ought to be replaced by other constraints. We therefore implement 9-bit
offsets which will work for all subtargets and all instructions.
Reviewers: vkalintiris
Reviewed By: vkalintiris
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8440
llvm-svn: 233537
|
| |
|
|
|
|
|
| |
This leads to terribly slow compile times under MSAN. More discussion
on the commit thread of r233447.
llvm-svn: 233529
|
| |
|
|
|
|
| |
see comments http://reviews.llvm.org/D6835
llvm-svn: 233528
|