summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove 256-bit specific node types for UNPCKHPS/D and instead use the ↵Craig Topper2011-11-245-50/+60
| | | | | | 128-bit versions and let the operand type disinquish. Also fix the load form of the v8i32 patterns for these to realize that the load would be promoted to v4i64. llvm-svn: 145126
* Remove AVX2 specific X86ISD node types for PUNPCKH/L and instead just reuse ↵Craig Topper2011-11-244-81/+33
| | | | | | the 128-bit versions and let the vector type distinguish. llvm-svn: 145125
* Devirtualize Pass::getPassID, overriding it isn't useful and it gets called ↵Benjamin Kramer2011-11-242-4/+2
| | | | | | | | a lot. While at it pull the trivial ctor in line. llvm-svn: 145124
* Make ConstantRange::truncate a bit more efficient.Benjamin Kramer2011-11-241-4/+2
| | | | llvm-svn: 145122
* X86: alias cqo to cqto.Benjamin Kramer2011-11-242-1/+3
| | | | llvm-svn: 145121
* Fix a silly use-after-free issue. A much earlier version of this codeChandler Carruth2011-11-242-2/+213
| | | | | | | | | | | | need lots of fanciness around retaining a reference to a Chain's slot in the BlockToChain map, but that's all gone now. We can just go directly to allocating the new chain (which will update the mapping for us) and using it. Somewhat gross mechanically generated test case replicates the issue Duncan spotted when actually testing this out. llvm-svn: 145120
* When adding blocks to the list of those which no longer have any CFGChandler Carruth2011-11-242-3/+59
| | | | | | | | | | | | | | conflicts, we should only be adding the first block of the chain to the list, lest we try to merge into the middle of that chain. Most of the places we were doing this we already happened to be looking at the first block, but there is no reason to assume that, and in some cases it was clearly wrong. I've added a couple of tests here. One already worked, but I like having an explicit test for it. The other is reduced from a test case Duncan reduced for me and used to crash. Now it is handled correctly. llvm-svn: 145119
* Add a few notes for ARM and a blurb about the MCJIT.Jim Grosbach2011-11-241-6/+12
| | | | llvm-svn: 145118
* Fix typo (becuase->because), PR11427David Blaikie2011-11-241-1/+1
| | | | llvm-svn: 145117
* Wordsmith the -Warray-bounds diagnostic text a bitMatt Beaumont-Gay2011-11-243-39/+38
| | | | llvm-svn: 145116
* Add feature to diagnostics that will provide more information on functionRichard Trieu2011-11-237-30/+247
| | | | | | | | | | pointer mismatch. Cases covered are: initialization, assignment, and function arguments. Additional text will give the extra information about the nature of the mismatch: different classes for member functions, wrong number of parameters, different parameter type, different return type, and function qualifier mismatch. llvm-svn: 145114
* This patch makes the following changes necessary for MIPS' direct code emission.Akira Hatanaka2011-11-236-55/+236
| | | | | | | | - lower unaligned loads/stores. - encode the size operand of instructions INS and EXT. - emit relocation information needed for JAL (jump-and-link). llvm-svn: 145113
* This patch addresses gp relative fixups/relocations for jump tables.Akira Hatanaka2011-11-238-7/+59
| | | | llvm-svn: 145112
* Correctly byte-swap APInts with bit-widths greater than 64.Richard Smith2011-11-232-18/+43
| | | | llvm-svn: 145111
* [PCH] Check for isTopLevelDeclInObjCContainer when picking abbreviations.Argyrios Kyrtzidis2011-11-233-3/+10
| | | | llvm-svn: 145110
* [libclang] Fix operations (token annotation, getting cursor, etc.) with a ↵Argyrios Kyrtzidis2011-11-2310-4/+96
| | | | | | | | | | | | | | | file region inside an objc container that "contains" other file-level declarations. When getting the array of file-level declarations that overlap with a file region, we failed to report that the region overlaps with an objc container, if the container had other file-level declarations declared lexically inside it. Fix this by marking such declarations as "isTopLevelDeclInObjCContainer" in the AST and handling them appropriately. llvm-svn: 145109
* Remove an assertion that is not valid if we cancel parsing.Argyrios Kyrtzidis2011-11-231-3/+0
| | | | llvm-svn: 145108
* [libclang] Indexing API: Fix issues, mostly C++ related.Argyrios Kyrtzidis2011-11-234-42/+61
| | | | llvm-svn: 145107
* Validate the return type when checking if a function is malloc.Benjamin Kramer2011-11-231-4/+4
| | | | | | Fixes PR11426. Not sure if a test case with a "wrong" malloc would be useful. llvm-svn: 145106
* Fix a crash in which a multiplication was being reported as being both negativeDuncan Sands2011-11-232-2/+24
| | | | | | | | and positive: positive, because it could be directly computed to be positive; negative, because the nsw flags means it is either negative or undefined (the multiplication always overflowed). llvm-svn: 145104
* X86: Use btq for bit tests if the immediate can't be encoded in 32 bits.Benjamin Kramer2011-11-232-1/+44
| | | | | | | | | | | | | | | | Before: movabsq $4294967296, %rax ## encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00] testq %rax, %rdi ## encoding: [0x48,0x85,0xf8] jne LBB0_2 ## encoding: [0x75,A] After: btq $32, %rdi ## encoding: [0x48,0x0f,0xba,0xe7,0x20] jb LBB0_2 ## encoding: [0x72,A] btq is usually slower than testq because it doesn't fuse with the jump, but here we're better off saving one register and a giant movabsq. llvm-svn: 145103
* AAPCS compliance - 32-bit wchar_t should be unsigned for both aapcs and ↵James Molloy2011-11-233-4/+9
| | | | | | | | aapcs-linux. Original behaviour of defining wchar_t as signed int has been kept for apcs-gnu as I don't have any spec for this to validate against. llvm-svn: 145102
* test/CodeGen/X86/block-placement.ll: Add explicit -mtriple=i686-linux. X86 ↵NAKAMURA Takumi2011-11-231-1/+1
| | | | | | Win32 CodeGen does not support EH yet. llvm-svn: 145101
* Relax an invariant that block placement was trying to assert a bitChandler Carruth2011-11-232-3/+26
| | | | | | | | | | | further. This invariant just wasn't going to work in the face of unanalyzable branches; we need to be resillient to the phenomenon of chains poking into a loop and poking out of a loop. In fact, we already were, we just needed to not assert on it. This was found during a bootstrap with block placement turned on. llvm-svn: 145100
* I added several lines in X86 code generator that allow to choose Elena Demikhovsky2011-11-232-15/+60
| | | | | | | | VSHUFPS/VSHUFPD instructions while lowering VECTOR_SHUFFLE node. I check a commuted VSHUFP mask. The patch was reviewed by Bruno. llvm-svn: 145099
* Handle the case of a no-return invoke correctly. It actually still hasChandler Carruth2011-11-232-0/+32
| | | | | | | | | successors, they just are all landing pad successors. We handle this the same way as no successors. Comments attached for the next person to wade through here and another lovely test case courtesy of Benjamin Kramer's bugpoint reduction. llvm-svn: 145098
* Enable stack protectors for all arrays, not just char arrays. rdar://5875909Bob Wilson2011-11-232-7/+2
| | | | | | Patch by Bill Wendling. llvm-svn: 145097
* Fix PR11422.Jakob Stoklund Olesen2011-11-233-3/+109
| | | | | | | | | | | | | This was a bug in keeping track of the available domains when merging domain values. The wrong domain mask caused ExecutionDepsFix to try to move VANDPSYrr to the integer domain which is only available in AVX2. Also add an assertion to catch future attempts at emitting AVX2 instructions. llvm-svn: 145096
* Point to libLTO with -L/PATH/ -lLTO so that it is found in the installRafael Espindola2011-11-231-1/+1
| | | | | | | directory. Patch by Markus Trippelsdorf. llvm-svn: 145095
* Fix a crash in block placement due to an inner loop that happened to beChandler Carruth2011-11-232-1/+45
| | | | | | | | | | | reversed in the function's original ordering, and we happened to encounter it while handling an outer unnatural CFG structure. Thanks to the test case reduced from GCC's source by Benjamin Kramer. This may also fix a crasher in gzip that Duncan reduced for me, but I haven't yet gotten to testing that one. llvm-svn: 145094
* Don't check alignment, it's irrelevant to this test.Richard Smith2011-11-231-1/+1
| | | | llvm-svn: 145093
* [asan] do not instrument threadlocal globals, this is buggyKostya Serebryany2011-11-232-0/+12
| | | | llvm-svn: 145092
* Use static storage duration for file-scope compound literals, even when theyRichard Smith2011-11-224-0/+20
| | | | | | appear in non-constant initializers in C++. llvm-svn: 145087
* Shrink-to-fit our std::vector<DWARFDebugInfoEntry> collections and save 20%Greg Clayton2011-11-223-8/+16
| | | | | | | to 30% of memory. The size doubling was killing us and we ended up with up to just under 50% of empty capacity. Cleaning this up saves us a ton of memory. llvm-svn: 145086
* Got the sizeof(lldb_private::Symbol) down to 64 bytes (from 72 bytes) by notGreg Clayton2011-11-222-21/+21
| | | | | | | having the enumeration take up 32 bits for the type and by putting it into the bitfields that were already being used. llvm-svn: 145084
* Remove assert from hot code path and add a clarifying comment.Benjamin Kramer2011-11-221-4/+4
| | | | | | The assert wasn't adding much value but slowed down Release+Asserts builds. llvm-svn: 145082
* Undo test commitAnshuman Dasgupta2011-11-221-1/+1
| | | | llvm-svn: 145079
* Test commitAnshuman Dasgupta2011-11-221-1/+1
| | | | llvm-svn: 145078
* Provide better source info for template specializations with non-type arguments.Matt Beaumont-Gay2011-11-221-3/+1
| | | | | | | This fixes a crasher in tools like Include-What-You-Use which examine such arguments. Patch from Dean Sturtevant at Google! llvm-svn: 145077
* test: Do not hardcode '.so' as library suffixTobias Grosser2011-11-223-1/+3
| | | | | | Contributed by: Marcello Maggioni <hayarms@gmail.com> llvm-svn: 145076
* www: Document how to run 'make polly-test' for autoconf buildTobias Grosser2011-11-221-2/+3
| | | | llvm-svn: 145075
* autoconf: Change order of linking filesTobias Grosser2011-11-221-5/+8
| | | | | | | This fixes (or hides) the problem of symbols not being available in the autoconf build. llvm-svn: 145074
* OpenScop: Remove use of getNameStr()Tobias Grosser2011-11-222-5/+5
| | | | llvm-svn: 145073
* cmake: Create libPollyExchange as in the autoconf buildTobias Grosser2011-11-222-11/+22
| | | | llvm-svn: 145072
* Register Passes: Use -polly-optimizer=(isl|pocc) to switch optimizersTobias Grosser2011-11-226-22/+26
| | | | | | | This replaces the old option -polly-use-pocc. Also call the passes uniformly -polly-opt-pocc and -polly-opt-isl. llvm-svn: 145071
* Lexer: Don't throw away the hard work SSE did to find a slash.Benjamin Kramer2011-11-221-5/+12
| | | | | | We can reuse the information and avoid looping over all the bytes again. llvm-svn: 145070
* 12% allocated memory savings when debugging clang with DWARF in .o files byGreg Clayton2011-11-222-0/+13
| | | | | | making sure we perfectly size our vector of symbols on the symbol table. llvm-svn: 145069
* <rdar://problem/10033754>Greg Clayton2011-11-221-2/+2
| | | | | | | | | Fixed an issue with the options for memory read where --count couldn't be used with the --binary option when writing data to a file. Also removed the GDB format option from the --binary version of memory read. llvm-svn: 145067
* add basic PPC register-pressure feedback; adjust the vaarg test to match the ↵Hal Finkel2011-11-225-97/+118
| | | | | | new register-allocation pattern llvm-svn: 145065
* More fixes to the X86InstComments for shuffle instructions. In particular ↵Craig Topper2011-11-223-44/+60
| | | | | | add AVX flavors of many instructions and fix the destination operand for some of the existing AVX entries. llvm-svn: 145063
OpenPOWER on IntegriCloud