summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Capitalize LowerVectorIntExtend to be consistent with all the other lower ↵Craig Topper2013-01-192-3/+3
| | | | | | functions in this file. llvm-svn: 172927
* Fix a latent bug exposed by recent static member debug info changes.David Blaikie2013-01-191-1/+2
| | | | | | | We weren't encoding boolean constants correctly due to modeling boolean as a signed type & then sign extending an i1 up to a byte & getting 255. llvm-svn: 172926
* Add a new BitstreamEntry concept, and add two helper methods for walkingChris Lattner2013-01-192-2/+2
| | | | | | | | through a BitstreamCursor that produce it: advance() and advanceSkippingSubblocks(), representing the two most common ways clients want to walk through bitcode. llvm-svn: 172919
* BitstreamReader hasn't aged well. It's been hacked on by various people andChris Lattner2013-01-193-4/+254
| | | | | | | has past the point of making sense. Lets tidy things up: first step, moving a ton of big functions out of line. llvm-svn: 172904
* LoopVectorizer: Emit memory checks into their own basic block.Benjamin Kramer2013-01-191-33/+53
| | | | | | | | | | | | | | This separates the check for "too few elements to run the vector loop" from the "memory overlap" check, giving a lot nicer code and allowing to skip the memory checks when we're not going to execute the vector code anyways. We still leave the decision of whether to emit the memory checks as branches or setccs, but it seems to be doing a good job. If ugly code pops up we may want to emit them as separate blocks too. Small speedup on MultiSource/Benchmarks/MallocBench/espresso. Most of this is legwork to allow multiple bypass blocks while updating PHIs, dominators and loop info. llvm-svn: 172902
* On Sandybridge split unaligned 256bit stores into two xmm-sized stores. Nadav Rotem2013-01-191-9/+18
| | | | llvm-svn: 172894
* Use MVT instead of EVT when computing shuffle immediates since they can only ↵Craig Topper2013-01-191-10/+10
| | | | | | be for legal types. Keeps compiler from generating unneeded checks and handling for extended types. llvm-svn: 172893
* Sort all of the includes. Several files got checked in with mis-sortedChandler Carruth2013-01-195-5/+4
| | | | | | includes. llvm-svn: 172891
* This is a resubmittal. For some reason it broke the bots yesterdayJack Carter2013-01-196-34/+52
| | | | | | | | | | | but I cannot reproduce the problem and have scrubed my sources and even tested with llvm-lit -v --vg. Formatting fixes. Mostly long lines and blank spaces at end of lines. Contributer: Jack Carter llvm-svn: 172882
* Fix 80-col and early exit in cost modelRenato Golin2013-01-191-12/+16
| | | | llvm-svn: 172877
* On Sandybridge loading unaligned 256bits using two XMM loads (vmovups and ↵Nadav Rotem2013-01-181-1/+31
| | | | | | vinsertf128) is faster than using a single vmovups instruction. llvm-svn: 172868
* Use hexDigitValue in LLLexer.Jordan Rose2013-01-181-16/+7
| | | | llvm-svn: 172866
* Improved comment.Michael Gottesman2013-01-181-2/+5
| | | | llvm-svn: 172864
* Fixed typo in comment.Michael Gottesman2013-01-181-2/+2
| | | | llvm-svn: 172863
* Split out DW_OP_addr for the split debug info DWARF5 proposal.Eric Christopher2013-01-182-6/+23
| | | | llvm-svn: 172857
* If the attributes don't exist, just bail for now.Bill Wendling2013-01-181-1/+1
| | | | llvm-svn: 172854
* Use AttributeSet accessor methods instead of Attribute accessor methods.Bill Wendling2013-01-187-34/+32
| | | | | | | Further encapsulation of the Attribute object. Don't allow direct access to the Attribute object as an aggregate. llvm-svn: 172853
* Remove unused parameter. Also use the AttributeSet query methods instead of ↵Bill Wendling2013-01-182-9/+9
| | | | | | the Attribute query methods. llvm-svn: 172852
* Add llvm::hexDigitValue to convert single characters to hex.Jordan Rose2013-01-181-20/+1
| | | | | | This is duplicated in a couple places in the codebase. Adopt this in APFloat. llvm-svn: 172851
* This is a resubmittal. For some reason it broke the bots yesterdayJack Carter2013-01-189-1/+147
| | | | | | | | | | | | | | | | | | | | | | but I cannot reproduce the problem and have scrubed my sources and even tested with llvm-lit -v --vg. Support for Mips register information sections. Mips ELF object files have a section that is dedicated to register use info. Some of this information such as the assumed Global Pointer value is used by the linker in relocation resolution. The register info file is .reginfo in o32 and .MIPS.options in 64 and n32 abi files. This patch contains the changes needed to create the sections, but leaves the actual register accounting for a future patch. Contributer: Jack Carter llvm-svn: 172847
* R600: Proper insert S_WAITCNT instructionsTom Stellard2013-01-188-32/+379
| | | | | | | | | | | | | | | | Some instructions like memory reads/writes are executed asynchronously, so we need to insert S_WAITCNT instructions to block before accessing their results. Previously we have just inserted S_WAITCNT instructions after each async instruction, this patch fixes this and adds a prober insertion pass. Patch by: Christian König Tested-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Signed-off-by: Christian König <deathsimple@vodafone.de> llvm-svn: 172846
* R600: Optimize and cleanup KILL on SITom Stellard2013-01-184-71/+96
| | | | | | | | | | | | We shouldn't insert KILL optimization if we don't have a kill instruction at all. Patch by: Christian König Tested-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Signed-off-by: Christian König <deathsimple@vodafone.de> llvm-svn: 172845
* Push some more methods down to hide the use of the Attribute class.Bill Wendling2013-01-186-40/+77
| | | | | | | | Because the Attribute class is going to stop representing a collection of attributes, limit the use of it as an aggregate in favor of using AttributeSet. This replaces some of the uses for querying the function attributes. llvm-svn: 172844
* This is a resubmittal. For some reason it broke the bots yesterdayJack Carter2013-01-182-47/+57
| | | | | | | | | | | but I cannot reproduce the problem and have scrubed my sources and even tested with llvm-lit -v --vg. Removal of redundant code and formatting fixes. Contributers: Jack Carter/Vladimir Medic llvm-svn: 172842
* Silence GCC warning about dropping off a non-void function.Benjamin Kramer2013-01-181-0/+1
| | | | llvm-svn: 172839
* [Linker] Kill Linker::LoadObject which is dead, and drop the BitReader ↵Daniel Dunbar2013-01-182-24/+1
| | | | | | dependency again. llvm-svn: 172838
* [MC/Mach-O] Implement integrated assembler support for linker options.Daniel Dunbar2013-01-182-7/+27
| | | | | | - Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer. llvm-svn: 172837
* The IR linker still depends on the bitcode reader.Benjamin Kramer2013-01-181-1/+1
| | | | llvm-svn: 172824
* 80 columnsAlexey Samsonov2013-01-181-1/+2
| | | | llvm-svn: 172813
* Move Blacklist.h to include/ to enable use from clang.Will Dietz2013-01-185-70/+13
| | | | llvm-svn: 172806
* Calculate vector element size more directly for VINSERTF128/VEXTRACTF128 ↵Craig Topper2013-01-181-6/+4
| | | | | | immediate handling. Also use MVT since this only called on legal types during pattern matching. llvm-svn: 172797
* Minor formatting fix. No functional change.Craig Topper2013-01-181-1/+1
| | | | llvm-svn: 172795
* Spelling fix: extened->extended. Trailing whitespace in same function.Craig Topper2013-01-181-5/+6
| | | | llvm-svn: 172793
* Make more use of is128BitVector/is256BitVector in place of getSizeInBits() ↵Craig Topper2013-01-181-35/+31
| | | | | | == 128/256. llvm-svn: 172792
* Check for less than 0 in shuffle mask instead of -1. It's more consistent ↵Craig Topper2013-01-181-1/+1
| | | | | | with other code related to shuffles and easier to implement in compiled code. llvm-svn: 172788
* Remove trailing whitespace. Remove new lines between closing brace and 'else'Craig Topper2013-01-181-7/+5
| | | | llvm-svn: 172784
* Fixed 80+ violation.Michael Gottesman2013-01-181-2/+2
| | | | llvm-svn: 172782
* [MC/Mach-O] Add support for linker options in Mach-O files.Daniel Dunbar2013-01-183-5/+67
| | | | llvm-svn: 172779
* [MC/Mach-O] Add AsmParser support for .linker_option directive.Daniel Dunbar2013-01-182-0/+40
| | | | llvm-svn: 172778
* [MC] Expose ParseEscapedString to target AsmParser implementations.Daniel Dunbar2013-01-181-4/+1
| | | | llvm-svn: 172777
* [MC] Fix 80-col violas.Daniel Dunbar2013-01-181-41/+89
| | | | llvm-svn: 172776
* [ms-inline asm] Make the error message more generic now that we support the Chad Rosier2013-01-181-1/+1
| | | | | | 'SIZE' and 'LENGTH' operators. llvm-svn: 172773
* [Linker] Drop some now-dead component dependencies.Daniel Dunbar2013-01-171-1/+1
| | | | llvm-svn: 172759
* Reverting r171325 & r172363. This was causing a mis-compile on the ↵Bill Wendling2013-01-171-29/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | self-hosted LTO build bots. Okay, here's how to reproduce the problem: 1) Build a Release (or Release+Asserts) version of clang in the normal way. 2) Using the clang & clang++ binaries from (1), build a Release (or Release+Asserts) version of the same sources, but this time enable LTO --- specify the `-flto' flag on the command line. 3) Run the ARC migrator tests: $ arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c++ ./src/tools/clang/test/ARCMT/cxx-rewrite.mm You'll see that the output isn't correct (the whitespace is off). The mis-compile is in the function `RewriteBuffer::RemoveText' in the clang/lib/Rewrite/Core/Rewriter.cpp file. When that function and RewriteRope.cpp are compiled with LTO and the `arcmt-test' executable is regenerated, you'll see the error. When those files are not LTO'ed, then the output of the `arcmt-test' is fine. It is *really* hard to get a testcase out of this. I'll file a PR with what I have currently. --- Reverse-merging r172363 into '.': U include/llvm/Analysis/MemoryBuiltins.h U lib/Analysis/MemoryBuiltins.cpp --- Reverse-merging r171325 into '.': U test/Transforms/InstCombine/objsize.ll G include/llvm/Analysis/MemoryBuiltins.h G lib/Analysis/MemoryBuiltins.cpp llvm-svn: 172756
* [Linker] Drop support for IR-level extended linking support (archives, etc.).Daniel Dunbar2013-01-174-482/+0
| | | | | | | | - This code is dead, and the "right" way to get this support is to use the platform-specific linker-integrated LTO mechanisms, or the forthcoming LLVM linker. llvm-svn: 172749
* This patch fixes PR13626 by providing i128 support in the returnBill Schmidt2013-01-171-0/+1
| | | | | | | calling convention. 128-bit integers are now properly returned in GPR3 and GPR4 on PowerPC. llvm-svn: 172745
* [ms-inline asm] Add support for the 'SIZE' and 'LENGTH' operators.Chad Rosier2013-01-172-38/+48
| | | | | | Part of rdar://12576868 llvm-svn: 172743
* Add indexed load/store instructions for offset validation check.Jyotsna Verma2013-01-171-0/+4
| | | | | | This patch fixes bug 14902 - http://llvm.org/bugs/show_bug.cgi?id=14902 llvm-svn: 172737
* Added missing const from my last commit.Michael Gottesman2013-01-171-1/+1
| | | | llvm-svn: 172736
* [ObjCARC] Implemented operator<< for InstructionClass and changed a ↵Michael Gottesman2013-01-171-3/+56
| | | | | | ``Visited'' Debug message to use it. llvm-svn: 172735
OpenPOWER on IntegriCloud