summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't need to figure out the frame's module if we don't have any librariesJim Ingham2014-01-231-10/+14
| | | | | | in the step-avoid-libraries list. llvm-svn: 199944
* Add a "step-avoid-libraries" setting to complement the "step-avoid-regexp" ↵Jim Ingham2014-01-234-5/+43
| | | | | | setting. llvm-svn: 199943
* Update the X86 assembler for .intel_syntax to produce an error for invalidKevin Enderby2014-01-232-3/+22
| | | | | | | | | | | scale factors in memory addresses. As it does for .att_syntax. It was producing: Assertion failed: (((Scale == 1 || Scale == 2 || Scale == 4 || Scale == 8)) && "Invalid scale!"), function CreateMem, file /Volumes/SandBox/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp, line 1133. rdar://14967214 llvm-svn: 199942
* Use .p2align instead of .alignNick Kledzik2014-01-232-4/+4
| | | | llvm-svn: 199941
* Fix out of bounds access to the double regs array. Given theEric Christopher2014-01-231-1/+1
| | | | | | | code this looks correct, but could use review. The previous was definitely not correct. llvm-svn: 199940
* Added the ability to get the type that a typedef points to via:Greg Clayton2014-01-238-1/+75
| | | | | | | | | | SBType SBType::GetTypedefedType(); Also added the ability to get a type by type ID from a SBModule: SBType SBModule::GetTypeByID (lldb::user_id_t uid); llvm-svn: 199939
* Add a few missing cases from r199933. Testcase coming shortly.Lang Hames2014-01-231-0/+8
| | | | llvm-svn: 199938
* Added a new lldb command that can parse all struct and class types for one ↵Greg Clayton2014-01-231-1/+14
| | | | | | or more shared libraries. llvm-svn: 199937
* Updating the getting started guide for Visual Studio a smidge.Aaron Ballman2014-01-231-8/+4
| | | | llvm-svn: 199934
* Replace vfmaddxx213 instructions with their 231-type equivalents in accumulatorLang Hames2014-01-234-3/+122
| | | | | | | loops. Writing back to the accumulator (231-type) allows the coalescer to eliminate an extra copy. llvm-svn: 199933
* Note the PR number.Rafael Espindola2014-01-231-0/+1
| | | | llvm-svn: 199932
* Remove unused include following r199929Alp Toker2014-01-231-1/+0
| | | | llvm-svn: 199930
* Replace the interim lli build fix with something cleanerAlp Toker2014-01-235-45/+15
| | | | | | | | | | Eliminates the LLI_BUILDING_CHILD build hack from r199885. Also add a FIXME to remove code that tricks the tests into passing when the feature fails to work. Please don't do stuff like this, the tests exist for a reason! llvm-svn: 199929
* [Thumbv8] Fix the value of BLXOperandIndex of isV8EligibleForITWeiming Zhao2014-01-234-7/+26
| | | | | | | | | Originally, BLX was passed as operand #0 in MachineInstr and as operand #2 in MCInst. But now, it's operand #2 in both cases. This patch also removes unnecessary FileCheck in the test case added by r199127. llvm-svn: 199928
* Move test to x86 directory.Eric Christopher2014-01-231-0/+0
| | | | llvm-svn: 199927
* Add target analysis passes to the codegen pipeline for MCJIT.Juergen Ributzka2014-01-2310-4/+30
| | | | | | | | | | | This patch adds the target analysis passes (usually TargetTransformInfo) to the codgen pipeline. We also expose now the AddAnalysisPasses method through the C API, because the optimizer passes would also benefit from better target-specific cost models. Reviewed by Andrew Kaylor llvm-svn: 199926
* [AArch64] Added vselect patterns with float and double typesAna Pazos2014-01-232-0/+17
| | | | llvm-svn: 199925
* Avoid emitting a DWARF type attribute for an ObjC property of typeEric Christopher2014-01-232-1/+106
| | | | | | | | void. Patch by Scott Talbot. llvm-svn: 199924
* Intrin.h: fix definitions of _Interlocked{In,De}crement16Hans Wennborg2014-01-231-4/+4
| | | | | | | The declarations seem correct, but the definitions were using chars instead of shorts. llvm-svn: 199923
* Suppress an annoying "unused variable" warning caused by bug 17897.Rui Ueyama2014-01-231-0/+1
| | | | | | | | Clang says that "flow" is unused when building LLD. This patch suppresses it. Differential Revision: http://llvm-reviews.chandlerc.com/D2573 llvm-svn: 199922
* R600: Remove successive JUMP in AnalyzeBranch when AllowModify is trueTom Stellard2014-01-231-1/+7
| | | | | | | | | | | | This fixes a crash in the OpenCV OpenCL test suite. There is no lit test for this, because the test would be very large and could easily be invalidated by changes to the scheduler or other parts of the compiler. Patch by: Vincent Lejeune llvm-svn: 199919
* R600: Disable the BFE patternTom Stellard2014-01-233-1/+12
| | | | | | | | | | This pattern uses an SDNodeXForm, which isn't being emitted for some reason. I can get it to work by attaching the PatLeaf that has the XForm to the argument in the output pattern, but this results in an immediate being used in a register operand, which the backend can't handle yet. llvm-svn: 199918
* R600: Correctly handle vertex fetch clauses the precede ENDIFsTom Stellard2014-01-232-0/+30
| | | | | | | | The control flow finalizer would sometimes use an ALU_POP_AFTER instruction before the vetex fetch clause instead of using a POP instruction after it. llvm-svn: 199917
* R600: Unconditionally unroll loops that contain GEPs with alloca pointersTom Stellard2014-01-232-0/+66
| | | | | | | | | | | | Implement the getUnrollingPreferences() function for AMDGPUTargetTransformInfo so that loops that do address calculations on pointers derived from alloca are unconditionally unrolled. Unrolling these loops makes it more likely that SROA will be able to eliminate the allocas, which is a big win for R600 since memory allocated by alloca (private memory) is really slow. llvm-svn: 199916
* Add missing alignment directives in assemblyNick Kledzik2014-01-232-0/+4
| | | | llvm-svn: 199915
* Add end of function marker, which can be used on ELF to correctly setJoerg Sonnenberger2014-01-231-0/+7
| | | | | | the function size. llvm-svn: 199914
* Move a unit test into the correct dir. Sorry if it broke Mips-only builds.Andrew Trick2014-01-231-0/+0
| | | | llvm-svn: 199911
* test/CodeGen: Finish fixing the typo in r199862Justin Bogner2014-01-231-1/+1
| | | | llvm-svn: 199910
* Remove tail marker when changing an argument to an alloca.Rafael Espindola2014-01-232-0/+29
| | | | | | | | | | Argument promotion can replace an argument of a call with an alloca. This requires clearing the tail marker as it is very likely that the callee is now using an alloca in the caller. This fixes pr14710. llvm-svn: 199909
* Candidate fix for bug 18592.Todd Fiala2014-01-231-1/+1
| | | | | | | | | This reverts Host.cpp LaunchProcess spawn behavior on FreeBSD to be like Linux (and unlike OS X) with regards to how default signal handlers and setup on the spawned process. FreeBSD does not reset default signal handlers on the spawned process after this change. llvm-svn: 199908
* Allow clang to compile the "extern" storage class in OpenCL 1.2. Pekka Jaaskelainen2014-01-231-0/+9
| | | | | | | | The tests (forgot to svn add, sorry!). Patch from Fraser Cormack! llvm-svn: 199907
* Allow clang to compile the "extern" storage class in OpenCL 1.2. Pekka Jaaskelainen2014-01-231-1/+1
| | | | | | Patch from Fraser Cormack! llvm-svn: 199906
* R600: Recommit 199842: Add work-around for the CF stack entry HW bugTom Stellard2014-01-236-7/+290
| | | | | | | | | | | | | | | | | | The unit test is now disabled on non-asserts builds. The CF stack can be corrupted if you use CF_ALU_PUSH_BEFORE, CF_ALU_ELSE_AFTER, CF_ALU_BREAK, or CF_ALU_CONTINUE when the number of sub-entries on the stack is greater than or equal to the stack entry size and sub-entries modulo 4 is either 0 or 3 (on cedar the bug is present when number of sub-entries module 8 is either 7 or 0) We choose to be conservative and always apply the work-around when the number of sub-enries is greater than or equal to the stack entry size, so that we can safely over-allocate the stack when we are unsure of the stack allocation rules. reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199905
* [AArch64] Add -mgeneral_regs_only option.Amara Emerson2014-01-235-9/+24
| | | | llvm-svn: 199904
* [CMake] Move LIBCLANG_BUILD_STATIC above. NFC.NAKAMURA Takumi2014-01-231-3/+3
| | | | llvm-svn: 199903
* [CMake] Parameterize MODULE and SHARED in add_clang_library().NAKAMURA Takumi2014-01-234-12/+8
| | | | llvm-svn: 199902
* [CMake] Migrate LLVMParseArguments to CMakeParseArguments.NAKAMURA Takumi2014-01-231-4/+4
| | | | llvm-svn: 199901
* [lsan] Expand a comment to document our dynamic TLS hack.Sergey Matveev2014-01-231-0/+15
| | | | llvm-svn: 199900
* [Sanitizer] Fix false positive in snprintf interceptor - take the number of ↵Alexey Samsonov2014-01-232-3/+10
| | | | | | actually written symbols from real snprintf call. llvm-svn: 199899
* [Object][ELF][Mips] Print symbol name for MIPS ELF relocations.Simon Atanasyan2014-01-233-1/+12
| | | | llvm-svn: 199898
* Fix to PR8880 (clang dies processing a for loop)Serge Pavlov2014-01-2312-34/+403
| | | | | | | | | | | | | | | | | | | | | | | Due to statement expressions supported as GCC extension, it is possible to put 'break' or 'continue' into a loop/switch statement but outside its body, for example: for ( ; ({ if (first) { first = 0; continue; } 0; }); ) This code is rejected by GCC if compiled in C mode but is accepted in C++ code. GCC bug 44715 tracks this discrepancy. Clang used code generation that differs from GCC in both modes: only statement of the third expression of 'for' behaves as if it was inside loop body. This change makes code generation more close to GCC, considering 'break' or 'continue' statement in condition and increment expressions of a loop as it was inside the loop body. It also adds error for the cases when 'break'/'continue' appear outside loop due to this syntax. If code generation differ from GCC, warning is issued. Differential Revision: http://llvm-reviews.chandlerc.com/D2518 llvm-svn: 199897
* MachO embedded: default to soft float without issuing warningTim Northover2014-01-232-0/+29
| | | | | | | | | | | | | This is a simpler rule, broadly in line with previous Darwin (which chose between "soft" and "softfp") but probably safer. In practice the only real reason for "softfp" is ABI compatibility, not usually an issue on limited chips like these, so anyone who wanted hard-float should already be saying so. That's my story and I'm sticking to it. rdar://problem/15887493 llvm-svn: 199896
* [Sanitizer] Fix false positive in printf interceptors: properly handle ↵Alexey Samsonov2014-01-232-2/+18
| | | | | | precision for %s llvm-svn: 199895
* Add documentation for -m16 option on X86, fix typoDavid Woodhouse2014-01-231-1/+8
| | | | llvm-svn: 199894
* AVX-512: added VPERM2D VPERM2Q VPERM2PS VPERM2PD instructions,Elena Demikhovsky2014-01-236-159/+172
| | | | | | they give better sequences than VPERMI llvm-svn: 199893
* [analyzer] Strip trailing whitespace characters from input.Anton Yartsev2014-01-231-3/+2
| | | | | | More universal way of removing trailing whitespace characters then 'chomp' does. Chomp "removes any trailing string that corresponds to the current value of $/" (quote from perldoc). In my case an input ended with '\r\r\n', chomp left '\r' at the end of input and the script ended up with an error "Use of uninitialized value in concatenation (.) or string" llvm-svn: 199892
* ARM: use litpools for normal i32 imms when compiling minsize.Tim Northover2014-01-234-11/+70
| | | | | | | | | With constant-sharing, litpool loads consume 4 + N*2 bytes of code, but movw/movt pairs consume 8*N. This means litpools are better than movw/movt even with just one use. Other materialisation strategies can still be better though, so the logic is a little odd. llvm-svn: 199891
* Remove empty directories left after r190748 and r198688.Alexander Kornienko2014-01-230-0/+0
| | | | llvm-svn: 199890
* Windows/ChildTarget.inc: LLIChildTarget::allocate() has gone since r199881.NAKAMURA Takumi2014-01-231-4/+0
| | | | llvm-svn: 199889
* [asan] More buffering in report printing.Evgeniy Stepanov2014-01-231-30/+39
| | | | llvm-svn: 199888
OpenPOWER on IntegriCloud