summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused ShouldFoldAtomicFences flag.Tim Northover2013-04-201-18/+0
| | | | | | | | 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
* Remove unused MEMBARRIER DAG node; it's been replaced by ATOMIC_FENCE.Tim Northover2013-04-202-11/+0
| | | | llvm-svn: 179939
* Add CodeGen support for functions that always return arguments via a new ↵Stephen Lin2013-04-204-23/+35
| | | | | | 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
* Simplify the code in FastISel::tryToFoldLoad, add an assertion and fix a ↵Eli Bendersky2013-04-191-1/+1
| | | | | | comment. llvm-svn: 179908
* Move TryToFoldFastISelLoad to FastISel, where it belongs. In general, I'mEli Bendersky2013-04-192-6/+19
| | | | | | | trying to move as much FastISel logic as possible out of the main path in SelectionDAGISel - intermixing them just adds confusion. llvm-svn: 179902
* ArrayRefize getMachineNode(). No functionality change.Michael Liao2013-04-191-15/+16
| | | | llvm-svn: 179901
* Add an MRI::verifyUseLists() function.Jakob Stoklund Olesen2013-04-191-0/+6
| | | | | | | This checks the sanity of the register use lists in the MI intermediate representation. llvm-svn: 179895
* Reformat and nuke trailing whitespace.Eric Christopher2013-04-191-29/+31
| | | | llvm-svn: 179880
* Rename ClassType to the more accurate UnderlyingType and document its purpose.Adrian Prantl2013-04-192-10/+14
| | | | | | rdar://problem/13463793 llvm-svn: 179877
* Revert "PR14606: debug info imported_module support"Eric Christopher2013-04-192-26/+1
| | | | | | This reverts commit r179836 as it seems to have caused test failures. llvm-svn: 179840
* PR14606: debug info imported_module supportDavid Blaikie2013-04-192-1/+26
| | | | | | | | | | 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
* Add support for index resources (for a SlotIndex) to be relinquished.Lang Hames2013-04-191-1/+48
| | | | | | | | | | | | | | | 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
* [asm parser] Add support for predicating MnemonicAlias based on the assemblerChad Rosier2013-04-181-1/+11
| | | | | | | | 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
* Make the TargetIndependent flag have the right boolean value.Bill Wendling2013-04-181-1/+1
| | | | llvm-svn: 179798
* Fix typoEli Bendersky2013-04-181-1/+1
| | | | llvm-svn: 179793
* Cleanup patch:Bill Wendling2013-04-181-12/+12
| | | | | | | | | | | | | | | 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
* This patch addresses two cleanup issues:Bill Wendling2013-04-181-3/+0
| | | | | | | | | | | | | | | | 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
* C API: Fix coding styleTom Stellard2013-04-181-1/+1
| | | | llvm-svn: 179785
* At Jim Grosbach's request detemplate Object/MachO.h.Rafael Espindola2013-04-182-1557/+91
| | | | | | | We are still able to handle mixed endian objects by swapping one struct at a time. llvm-svn: 179778
* Fix comment spacing.Chad Rosier2013-04-181-2/+2
| | | | llvm-svn: 179761
* Add an option `-enable-old-style-attr-syntax' to print out function ↵Bill Wendling2013-04-171-1/+2
| | | | | | | | | | 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
* Two small cleanups for ELF's templates.Rafael Espindola2013-04-171-98/+72
| | | | | | | | | | * 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
* Add support for subsections to the ELF assembler. Fixes PR8717.Peter Collingbourne2013-04-178-33/+64
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D598 llvm-svn: 179725
* Create a stub for DWARF parser unittestsAlexey Samsonov2013-04-171-0/+82
| | | | | | | Moves one DWARF-specific header to include/llvm/DebugInfo from lib/. Add a short unittest for r179095. llvm-svn: 179678
* C API: Add LLVMTargetMachineEmitToMemoryBuffer()Tom Stellard2013-04-161-0/+3
| | | | llvm-svn: 179648
* C API: Add LLVMGetBufferSize()Tom Stellard2013-04-161-0/+1
| | | | llvm-svn: 179647
* C API: Add LLVMGetBufferStart()Tom Stellard2013-04-161-0/+1
| | | | llvm-svn: 179646
* C API: Add LLVMAddTargetDependentFunctionAttr()Tom Stellard2013-04-161-0/+7
| | | | llvm-svn: 179645
* Cleanup naming: DataLayout s/TD/DL/Eli Bendersky2013-04-161-7/+7
| | | | llvm-svn: 179601
* Add four new functions and one new enum to the C API:Hans Wennborg2013-04-161-0/+12
| | | | | | | | | | | | 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
* Fix silly typo that broke big endian hosts.Rafael Espindola2013-04-151-1/+1
| | | | llvm-svn: 179551
* Fix endianness on some MSVC versions.Rafael Espindola2013-04-151-1/+1
| | | | | | Looks like it was evaluating undef == undef to true. llvm-svn: 179549
* Simplify the MCInst operator iterator declaration.Jim Grosbach2013-04-151-1/+1
| | | | llvm-svn: 179541
* Try to fix the mingw builds.Rafael Espindola2013-04-151-1/+1
| | | | llvm-svn: 179536
* Fix bit size of v64i8 and v32i16 vector types.Arnold Schwaighofer2013-04-151-2/+2
| | | | | | Patch by Cameron McInally <cameron.mcinally@nyu.edu>. llvm-svn: 179535
* Remove getters now that we can specialize structs on the host endianness.Rafael Espindola2013-04-151-75/+80
| | | | llvm-svn: 179534
* Remove unused function.Rafael Espindola2013-04-151-4/+0
| | | | llvm-svn: 179530
* Make the host endianness check an integer constant expression.Rafael Espindola2013-04-153-12/+20
| | | | | | | | | | | | | | | 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
* Replace uses of the deprecated std::auto_ptr with OwningPtr.Andy Gibbs2013-04-151-11/+8
| | | | | | 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
* Add an option -vectorize-slp-aggressive for running the BB vectorizer. Make ↵Nadav Rotem2013-04-151-0/+1
| | | | | | -fslp-vectorize run the slp-vectorizer. llvm-svn: 179508
* Rename the slp-vectorizer clang/llvm flags. No functionality change.Nadav Rotem2013-04-151-1/+1
| | | | llvm-svn: 179505
* MI-Sched: schedule physreg copies.Andrew Trick2013-04-132-13/+17
| | | | | | | | | | | 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
* Add typenames to see if bot goes green.Rafael Espindola2013-04-131-3/+3
| | | | | | I hope this brings http://lab.llvm.org:8011/builders/clang-x86_64-darwin11-self-mingw32 back. llvm-svn: 179446
* Some versions of gcc don't like typenames in these places.Rafael Espindola2013-04-131-9/+15
| | | | | | Should fix the bots. llvm-svn: 179441
* Finish templating MachObjectFile over endianness.Rafael Espindola2013-04-131-106/+677
| | | | | | | 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
* Revert broken pieces of r179373.Benjamin Kramer2013-04-121-10/+11
| | | | | | You can't copy an OwningPtr, and move semantics aren't available in C++98. llvm-svn: 179374
* Replace uses of the deprecated std::auto_ptr with OwningPtr.Andy Gibbs2013-04-121-11/+10
| | | | llvm-svn: 179373
* Add missing relocation namesNico Rieck2013-04-122-0/+68
| | | | llvm-svn: 179358
* Support MIPS64EL relocation type namesNico Rieck2013-04-121-41/+60
| | | | | | | | 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
* Add 179294 back, but don't use bit fields so that it works on big endian hosts.Rafael Espindola2013-04-121-64/+81
| | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud