| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
I think it's almost impossible to fold atomic fences profitably under
LLVM/C++11 semantics. As a result, this is now unused and just
cluttering up the target interface.
llvm-svn: 179940
|
| |
|
|
| |
llvm-svn: 179939
|
| |
|
|
|
|
| |
parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter).
llvm-svn: 179925
|
| |
|
|
|
|
| |
comment.
llvm-svn: 179908
|
| |
|
|
|
|
|
| |
trying to move as much FastISel logic as possible out of the main path in
SelectionDAGISel - intermixing them just adds confusion.
llvm-svn: 179902
|
| |
|
|
| |
llvm-svn: 179901
|
| |
|
|
|
|
|
| |
This checks the sanity of the register use lists in the MI intermediate
representation.
llvm-svn: 179895
|
| |
|
|
| |
llvm-svn: 179880
|
| |
|
|
|
|
| |
rdar://problem/13463793
llvm-svn: 179877
|
| |
|
|
|
|
| |
This reverts commit r179836 as it seems to have caused test failures.
llvm-svn: 179840
|
| |
|
|
|
|
|
|
|
|
| |
Adding another CU-wide list, in this case of imported_modules (since they
should be relatively rare, it seemed better to add a list where each element
had a "context" value, rather than add a (usually empty) list to every scope).
This takes care of DW_TAG_imported_module, but to fully address PR14606 we'll
need to expand this to cover DW_TAG_imported_declaration too.
llvm-svn: 179836
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the SlotIndexes pass was introduced it was intended to support insertion
of code during register allocation. Removal of code was a minor consideration
(and raised the question of what to do about dangling SlotIndex objects pointing
to the erased index), so I opted to keep all indexes around indefinitely and
simply null out those that weren't being used.
Nowadays people are moving more code around (e.g. via HandleMove), which means
more zombie indexes. I want to start killing off indexes when we're done with
them to reclaim the resources they use up.
llvm-svn: 179834
|
| |
|
|
|
|
|
|
| |
variant/dialect. Addresses a FIXME in the emitMnemonicAliases function.
Use and test case to come shortly.
rdar://13688439 and part of PR13340.
llvm-svn: 179804
|
| |
|
|
| |
llvm-svn: 179798
|
| |
|
|
| |
llvm-svn: 179793
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Semantics of parameters named Index and Idx were inconsistent between
"include/llvm/IR/Attributes.h", "lib/IR/AttributeImpl.h" and
"lib/IR/Attributes.cpp": sometimes these were fixed 1-based indexes of IR
parameters (or AttributeSet::ReturnIndex for IR return values or
AttributeSet::FunctionIndex for IR functions), other times they were the
internal slot for storage in the underlying AttributeSetImpl. I renamed usage of
the former to "Index" and usage of the latter to "Slot" ("Slot" was already
being used consistently for the latter in a subset of cases)
Patch by Stephen Lin!
llvm-svn: 179791
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Verify::VerifyParameterAttrs in "lib/IR/Verifier.cpp" and
AttrBuilder::removeFunctionOnlyAttrs in "lib/IR/Attributes.cpp" (only called
by Verify::VerifyFunctionAttrs) separately maintained a list of function-only
attribute types. I've consolidated the logic into a new function used for
both cases in "lib/IR/Verifier.cpp", so this logic is in one place (other
than the AsmParser front-end)
2. Various functions in "lib/IR/Verifier.cpp" passed AttributeSet around by
reference needlessly, as it's just a handle to an immutable pimpl body.
Patch by Stephen Lin!
llvm-svn: 179790
|
| |
|
|
| |
llvm-svn: 179785
|
| |
|
|
|
|
|
| |
We are still able to handle mixed endian objects by swapping one struct at a
time.
llvm-svn: 179778
|
| |
|
|
| |
llvm-svn: 179761
|
| |
|
|
|
|
|
|
|
|
| |
attributes in the "old" style.
It's sometimes beneficial to emit a testcase with the old style attribute
syntax. Allow someone to do this.
<rdar://problem/13563209>
llvm-svn: 179735
|
| |
|
|
|
|
|
|
|
|
| |
* We only ever specialize these templates with an instantiation of ELFType,
so we don't need a template template.
* Replace LLVM_ELF_COMMA with just passing the individual parameters to the
macro. This requires a second macro for when we only have ELFT, but that
is still a small win.
llvm-svn: 179726
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D598
llvm-svn: 179725
|
| |
|
|
|
|
|
| |
Moves one DWARF-specific header to include/llvm/DebugInfo from lib/.
Add a short unittest for r179095.
llvm-svn: 179678
|
| |
|
|
| |
llvm-svn: 179648
|
| |
|
|
| |
llvm-svn: 179647
|
| |
|
|
| |
llvm-svn: 179646
|
| |
|
|
| |
llvm-svn: 179645
|
| |
|
|
| |
llvm-svn: 179601
|
| |
|
|
|
|
|
|
|
|
|
|
| |
LLVMGetThreadLocalMode - exposes GlobalVariable::getThreadLocalMode
LLVMSetThreadLocalMode - exposes GlobalVariable::setThreadLocalMode
LLVMIsExternallyInitialized - exposes GlobalVariable::isExternallyInitialized
LLVMSetExternallyInitialized - exposes GlobalVariable::setExternallyInitialized
LLVMThreadLocalMode - maps to GlobalVariable::ThreadLocalMode
Patch by Moritz Maxeiner!
llvm-svn: 179588
|
| |
|
|
| |
llvm-svn: 179551
|
| |
|
|
|
|
| |
Looks like it was evaluating undef == undef to true.
llvm-svn: 179549
|
| |
|
|
| |
llvm-svn: 179541
|
| |
|
|
| |
llvm-svn: 179536
|
| |
|
|
|
|
| |
Patch by Cameron McInally <cameron.mcinally@nyu.edu>.
llvm-svn: 179535
|
| |
|
|
| |
llvm-svn: 179534
|
| |
|
|
| |
llvm-svn: 179530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I will remove the isBigEndianHost function once I update clang.
The ifdef logic is designed to
* not use configure/cmake to avoid breaking -arch i686 -arch ppc.
* default to little endian
* be as small as possible
It looks like sys/endian.h is the preferred header on most modern BSD systems,
but it is better to change this in a followup patch as machine/endian.h is
available on FreeBSD, OpenBSD, NetBSD and OS X.
llvm-svn: 179527
|
| |
|
|
|
|
| |
This is a rework of the broken parts in r179373 which were subsequently reverted in r179374 due to incompatibility with C++98 compilers. This version should be ok under C++98.
llvm-svn: 179520
|
| |
|
|
|
|
| |
-fslp-vectorize run the slp-vectorizer.
llvm-svn: 179508
|
| |
|
|
| |
llvm-svn: 179505
|
| |
|
|
|
|
|
|
|
|
|
| |
The register allocator expects minimal physreg live ranges. Schedule
physreg copies accordingly. This is slightly tricky when they occur in
the middle of the scheduling region. For now, this is handled by
rescheduling the copy when its associated instruction is
scheduled. Eventually we may instead bundle them, but only if we can
preserve the bundles as parallel copies during regalloc.
llvm-svn: 179449
|
| |
|
|
|
|
| |
I hope this brings http://lab.llvm.org:8011/builders/clang-x86_64-darwin11-self-mingw32 back.
llvm-svn: 179446
|
| |
|
|
|
|
| |
Should fix the bots.
llvm-svn: 179441
|
| |
|
|
|
|
|
| |
We are now able to handle big endian macho files in llvm-readobject. Thanks to
David Fang for providing the object files.
llvm-svn: 179440
|
| |
|
|
|
|
| |
You can't copy an OwningPtr, and move semantics aren't available in C++98.
llvm-svn: 179374
|
| |
|
|
| |
llvm-svn: 179373
|
| |
|
|
| |
llvm-svn: 179358
|
| |
|
|
|
|
|
|
| |
MIPS64EL relocation entries have up to three relocation operations. Because
libObject only exposes a single relocation name, use the concatenation of
the individual relocation type names.
llvm-svn: 179357
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Original message:
Print more information about relocations.
With this patch llvm-readobj now prints if a relocation is pcrel, its length,
if it is extern and if it is scattered.
It also refactors the code a bit to use bit fields instead of shifts and
masks all over the place.
llvm-svn: 179345
|