summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
* 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
* TBAA: add utility to create a TBAA scalar type nodeManman Ren2013-04-111-1/+13
| | | | llvm-svn: 179331
* [ms-inline asm] Add a new AsmRewriteKind, AOK_Delete. To be used in a futureChad Rosier2013-04-111-10/+12
| | | | | | | commit. Part of rdar://13453209 llvm-svn: 179325
* Revert my last two commits while I debug what is wrong in a big endian host.Rafael Espindola2013-04-111-61/+64
| | | | llvm-svn: 179303
* Fix llvm-readobj tests on big endian hosts.Rafael Espindola2013-04-111-1/+8
| | | | llvm-svn: 179298
* Print more information about relocations.Rafael Espindola2013-04-111-64/+54
| | | | | | | | | | 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: 179294
* Add a function to check if an argument list is too long.Rafael Espindola2013-04-111-0/+5
| | | | | | | | | This will be used in clang to decide if it should create an @file or not. It will be tested on the clang side. Patch by Nathan Froyd. llvm-svn: 179285
* [ASan] Allow disabling init-order checks for globals by source file name.Alexey Samsonov2013-04-111-0/+1
| | | | llvm-svn: 179280
* Rename the C function to create a SLPVectorizerPass to something sane and ↵Benjamin Kramer2013-04-111-0/+3
| | | | | | expose it in the header file. llvm-svn: 179272
* Fix MachO's getRelocationAdditionalInfo.Rafael Espindola2013-04-111-18/+2
| | | | | | | It was returning the loaded address of the section containing the relocation, which really doesn't seem to be the intent of this function. llvm-svn: 179255
* MC: Support COFF image-relative MCSymbolRefsNico Rieck2013-04-102-2/+8
| | | | | | | | | | | | | | | | Add support for the COFF relocation types IMAGE_REL_I386_DIR32NB and IMAGE_REL_AMD64_ADDR32NB for 32- and 64-bit respectively. These are similar to normal 4-byte relocations except that they do not include the base address of the image. Image-relative relocations are used for debug information (32-bit) and SEH unwind tables (64-bit). A new MCSymbolRef variant called 'VK_COFF_IMGREL32' is introduced to specify such relocations. For AT&T assembly, this variant can be accessed using the symbol suffix '@imgrel'. llvm-svn: 179240
* Revert "Update the version of dwarf we say we're emitting to at least 3."Eric Christopher2013-04-101-1/+1
| | | | | | | | | temporarily while we work on plumbing through some changes to continue supporting gdb on darwin. This reverts commit r179122. llvm-svn: 179222
* Track the compact unwind encoding for when we are unable to generate compact ↵Bill Wendling2013-04-101-1/+10
| | | | | | | | | | unwind information. Compact unwind has an encoding for when we're not able to generate compact unwind and must generate an EH frame instead. Track that, but still emit that CU encoding. llvm-svn: 179220
* Use a real union for IdentifyingPassPtr.Benjamin Kramer2013-04-101-7/+9
| | | | | | This avoids a nasty const correctness issue (AnalysisIDs are const, Pass* isn't). llvm-svn: 179213
* Reapply r179115, but use parsePrimaryExpression a little more judiciously.Chad Rosier2013-04-101-0/+7
| | | | | | | | | | | | | | | | | Test cases that regressed due to r179115, plus a few more, were added in r179182. Original commit message below: [ms-inline asm] Use parsePrimaryExpr in lieu of parseExpression if we need to parse an identifier. Otherwise, parseExpression may parse multiple tokens, which makes it impossible to properly compute an immediate displacement. An example of such a case is the source operand (i.e., [Symbol + ImmDisp]) in the below example: __asm mov eax, [Symbol + ImmDisp] Part of rdar://13611297 llvm-svn: 179187
* Template MachOObjectFile over endianness too.Rafael Espindola2013-04-101-89/+100
| | | | llvm-svn: 179179
* Simplify the templating a bit.Rafael Espindola2013-04-101-24/+19
| | | | | | | Since we only ever instantiate with a type that is a MachOType instantiation, we don't need to pass template argument. llvm-svn: 179178
* Move two methods out of line.Rafael Espindola2013-04-101-15/+21
| | | | llvm-svn: 179176
* RegionInfo: Add helpers to replace entry/exit recursivelyTobias Grosser2013-04-101-0/+18
| | | | | | Contributed by: Star Tan <tanmx_star@yeah.net> llvm-svn: 179157
* Template the MachO types over endianness.Rafael Espindola2013-04-101-98/+141
| | | | | | For now they are still only used as little endian. llvm-svn: 179147
* Include the more specific header.Rafael Espindola2013-04-101-1/+1
| | | | llvm-svn: 179146
* Generalize the PassConfig API and remove addFinalizeRegAlloc().Andrew Trick2013-04-101-15/+46
| | | | | | | | | | The target hooks are getting out of hand. What does it mean to run before or after regalloc anyway? Allowing either Pass* or AnalysisID pass identification should make it much easier for targets to use the substitutePass and insertPass APIs, and create less need for badly named target hooks. llvm-svn: 179140
* Remove unused method and default values.Rafael Espindola2013-04-091-6/+5
| | | | llvm-svn: 179124
* Update the version of dwarf we say we're emitting to at least 3.Eric Christopher2013-04-091-1/+1
| | | | | | Deals with a dwarf2 -> dwarf3 DW_FORM_ref_addr change. llvm-svn: 179122
* Revert r179115 as it looks to have killed the ASan tests.Chad Rosier2013-04-091-7/+0
| | | | llvm-svn: 179120
* Add support for bottom-up SLP vectorization infrastructure.Nadav Rotem2013-04-093-0/+8
| | | | | | | | | | | | | | | | | | | | | | This commit adds the infrastructure for performing bottom-up SLP vectorization (and other optimizations) on parallel computations. The infrastructure has three potential users: 1. The loop vectorizer needs to be able to vectorize AOS data structures such as (sum += A[i] + A[i+1]). 2. The BB-vectorizer needs this infrastructure for bottom-up SLP vectorization, because bottom-up vectorization is faster to compute. 3. A loop-roller needs to be able to analyze consecutive chains and roll them into a loop, in order to reduce code size. A loop roller does not need to create vector instructions, and this infrastructure separates the chain analysis from the vectorization. This patch also includes a simple (100 LOC) bottom up SLP vectorizer that uses the infrastructure, and can vectorize this code: void SAXPY(int *x, int *y, int a, int i) { x[i] = a * x[i] + y[i]; x[i+1] = a * x[i+1] + y[i+1]; x[i+2] = a * x[i+2] + y[i+2]; x[i+3] = a * x[i+3] + y[i+3]; } llvm-svn: 179117
* [ms-inline asm] Use parsePrimaryExpr in lieu of parseExpression if we need toChad Rosier2013-04-091-0/+7
| | | | | | | | | | | | | | parse an identifier. Otherwise, parseExpression may parse multiple tokens, which makes it impossible to properly compute an immediate displacement. An example of such a case is the source operand (i.e., [Symbol + ImmDisp]) in the below example: __asm mov eax, [Symbol + ImmDisp] The existing test cases exercise this patch. rdar://13611297 llvm-svn: 179115
OpenPOWER on IntegriCloud