| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
these are expected to fix any 64->32 bit real truncation issues.
llvm-svn: 229153
|
|
|
|
| |
llvm-svn: 229025
|
|
|
|
| |
llvm-svn: 229024
|
|
|
|
| |
llvm-svn: 229023
|
|
|
|
| |
llvm-svn: 229022
|
|
|
|
| |
llvm-svn: 229020
|
|
|
|
| |
llvm-svn: 229019
|
|
|
|
| |
llvm-svn: 229018
|
|
|
|
| |
llvm-svn: 229017
|
|
|
|
| |
llvm-svn: 229016
|
|
|
|
| |
llvm-svn: 229014
|
|
|
|
| |
llvm-svn: 229013
|
|
|
|
| |
llvm-svn: 229011
|
|
|
|
| |
llvm-svn: 229009
|
|
|
|
| |
llvm-svn: 229007
|
|
|
|
| |
llvm-svn: 229005
|
|
|
|
| |
llvm-svn: 229004
|
|
|
|
| |
llvm-svn: 229003
|
|
|
|
|
|
|
|
|
|
| |
This allows IDEs to recognize the entire set of header files for
each of the core LLVM projects.
Differential Revision: http://reviews.llvm.org/D7526
Reviewed By: Chris Bieneman
llvm-svn: 228798
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add specialized debug info metadata nodes that match the `DIDescriptor`
wrappers (used by `DIBuilder`) closely. Assembly and bitcode support to
follow soon (it'll mostly just be obvious), but this sketches in today's
schema. This is the first big commit (well, the only *big* one aside
from the testcase changes that'll come when I move this into place) for
PR22464.
I've marked a bunch of obvious changes as `TODO`s in the source; I plan
to make those changes promptly after this hierarchy is moved underneath
`DIDescriptor`, but for now I'm aiming mostly to match the status quo.
llvm-svn: 228640
|
|
|
|
| |
llvm-svn: 228203
|
|
|
|
| |
llvm-svn: 228093
|
|
|
|
| |
llvm-svn: 228041
|
|
|
|
| |
llvm-svn: 227934
|
|
|
|
| |
llvm-svn: 227903
|
|
|
|
|
|
|
|
|
| |
Move debug-info-centred `Metadata` subclasses into their own
header/source file. A couple of private template functions are needed
from both `Metadata.cpp` and `DebugInfoMetadata.cpp`, so I've moved them
to `lib/IR/MetadataImpl.h`.
llvm-svn: 227835
|
|
|
|
|
|
|
|
|
| |
Added a test case for it.
Also added run lines for the test case in r227566.
Bugs found with afl-fuzz
llvm-svn: 227589
|
|
|
|
|
|
| |
Bug found with afl-fuzz
llvm-svn: 227566
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Eventually we can make some of these pass the error along to the caller.
Reports a fatal error if:
We find an invalid abbrev record
We try to get an invalid abbrev number
We can't fill the current word due to an EOF
Fixed an invalid bitcode test to check for output with FileCheck
Bugs found with afl-fuzz
llvm-svn: 226986
|
|
|
|
|
|
|
|
|
| |
These things are potentially used for non-DWARF data (see the discussion
in PR22235), so take the `Dwarf` out of the name. Since the new name
gives fewer clues, update the doxygen to properly describe what they
are.
llvm-svn: 226874
|
|
|
|
|
|
|
| |
Don't infer COMDAT groups from older bitcode if the target is macho,
it doesn't have COMDATs.
llvm-svn: 226546
|
|
|
|
| |
llvm-svn: 226535
|
|
|
|
| |
llvm-svn: 226534
|
|
|
|
| |
llvm-svn: 226533
|
|
|
|
|
|
|
|
|
| |
As pointed out in r226501, the distinction between `MDNode` and
`UniquableMDNode` is confusing. When we need subclasses of `MDNode`
that don't use all its functionality it might make sense to break it
apart again, but until then this makes the code clearer.
llvm-svn: 226520
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change `MDTuple::getTemporary()` and `MDLocation::getTemporary()` to
return (effectively) `std::unique_ptr<T, MDNode::deleteTemporary>`, and
clean up call sites. (For now, `DIBuilder` call sites just call
`release()` immediately.)
There's an accompanying change in each of clang and polly to use the new
API.
llvm-svn: 226504
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove `MDNodeFwdDecl` (as promised in r226481). Aside from API
changes, there's no real functionality change here.
`MDNode::getTemporary()` now forwards to `MDTuple::getTemporary()`,
which returns a tuple with `isTemporary()` equal to true.
The main point is that we can now add temporaries of other `MDNode`
subclasses, needed for PR22235 (I introduced `MDNodeFwdDecl` in the
first place because I didn't recognize this need, and thought they were
only needed to handle forward references).
A few things left out of (or highlighted by) this commit:
- I've had to remove the (few) uses of `std::unique_ptr<>` to deal
with temporaries, since the destructor is no longer public.
`getTemporary()` should probably return the equivalent of
`std::unique_ptr<T, MDNode::deleteTemporary>`.
- `MDLocation::getTemporary()` doesn't exist yet (worse, it actually
does exist, but does the wrong thing: `MDNode::getTemporary()` is
inherited and returns an `MDTuple`).
- `MDNode` now only has one subclass, `UniquableMDNode`, and the
distinction between them is actually somewhat confusing.
I'll fix those up next.
llvm-svn: 226501
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No change in this commit, but clang was changed to also produce trivial comdats when
needed.
Original message:
Don't create new comdats in CodeGen.
This patch stops the implicit creation of comdats during codegen.
Clang now sets the comdat explicitly when it is required. With this patch clang and gcc
now produce the same result in pr19848.
llvm-svn: 226467
|
|
|
|
|
|
| |
This breaks AddressSanitizer (ninja check-asan) on Windows
llvm-svn: 226251
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r226173, adding r226038 back.
No change in this commit, but clang was changed to also produce trivial comdats for
costructors, destructors and vtables when needed.
Original message:
Don't create new comdats in CodeGen.
This patch stops the implicit creation of comdats during codegen.
Clang now sets the comdat explicitly when it is required. With this patch clang and gcc
now produce the same result in pr19848.
llvm-svn: 226242
|
|
|
|
|
|
| |
It breaks AddressSanitizer on Windows.
llvm-svn: 226173
|
|
|
|
|
|
|
|
|
| |
This patch stops the implicit creation of comdats during codegen.
Clang now sets the comdat explicitly when it is required. With this patch clang and gcc
now produce the same result in pr19848.
llvm-svn: 226038
|
|
|
|
| |
llvm-svn: 226012
|
|
|
|
|
|
|
|
|
|
|
| |
utils/sort_includes.py.
I clearly haven't done this in a while, so more changed than usual. This
even uncovered a missing include from the InstrProf library that I've
added. No functionality changed here, just mechanical cleanup of the
include order.
llvm-svn: 225974
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds assembly and bitcode support for `MDLocation`. The assembly
side is rather big, since this is the first `MDNode` subclass (that
isn't `MDTuple`). Part of PR21433.
(If you're wondering where the mountains of testcase updates are, we
don't need them until I update `DILocation` and `DebugLoc` to actually
use this class.)
llvm-svn: 225830
|
|
|
|
| |
llvm-svn: 225716
|
|
|
|
| |
llvm-svn: 225715
|
|
|
|
| |
llvm-svn: 225714
|
|
|
|
| |
llvm-svn: 225713
|
|
|
|
|
|
|
|
|
|
| |
Refactor logic so that we know up-front whether to open a block and
whether we need an MDString abbreviation.
This is almost NFC, but will start emitting `MDString` abbreviations
when the first record is not an `MDString`.
llvm-svn: 225712
|