summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor lli-child-target to remove duplicated codeAlp Toker2014-01-236-174/+32
| | | | | | | | | | | | | | Eliminate the copies LLVM's System mmap and cache invalidation code. These were slowly drifting away from the original version, and moreover the copied code was a dead end in terms of portability. We now statically link to Support but in practice with stripping this adds next to no weight to the resultant binary. Also avoid installing lli-child-target to the user's $PATH. It's not meant to be run directly. llvm-svn: 199881
* [sanitizer] Add a sanity check.Evgeniy Stepanov2014-01-231-0/+1
| | | | llvm-svn: 199880
* [sanitizer] Fix format string mismatches found by format attributes added in ↵Evgeniy Stepanov2014-01-231-3/+3
| | | | | | r199874. llvm-svn: 199879
* [asan] Print shadow memory and legend as a single printf call.Evgeniy Stepanov2014-01-231-32/+44
| | | | llvm-svn: 199878
* [asan] clang-format part of asan_report.ccEvgeniy Stepanov2014-01-231-19/+16
| | | | llvm-svn: 199877
* [mips][sched] Split IIStore into II_S[BHWD], II_S[WD][LR], and II_SAVEDaniel Sanders2014-01-234-23/+39
| | | | | | No functional change since the InstrItinData's have been duplicated. llvm-svn: 199876
* Improve x86 android support, add x86_64 android targetAlexey Bataev2014-01-234-5/+56
| | | | llvm-svn: 199875
* [sanitizer] Add printf format attributes.Evgeniy Stepanov2014-01-231-0/+4
| | | | | | These were lost in a refactoring a long time ago. llvm-svn: 199874
* [msan] Fix GCC warnings.Evgeniy Stepanov2014-01-231-4/+4
| | | | | | | | warning: ISO C99 requires rest arguments to be used [enabled by default] INTERCEPTOR(char *, dlerror) { warning: invoking macro INTERCEPTOR argument 3: empty macro arguments are undefined in ISO C90 and ISO C++98 [enabled by default] llvm-svn: 199873
* [asan] Enable replacement new/delete on Android.Evgeniy Stepanov2014-01-231-5/+2
| | | | | | | | | | | New/delete implementations in system libraries almost always are built without frame pointers. As we switched to frame pointer based unwinder on ARM, they no longer work for us, resulting in broken allocation/deallocation stacks. Note that this does not work with statically linked libstdc++/libc++/libstlport. llvm-svn: 199872
* Add a variable to track whether or not we've used a unique section,Eric Christopher2014-01-2314-33/+38
| | | | | | | | | | | | e.g. linkonce, to TargetMachine and set it when we've done so for ELF targets currently. This involved making TargetMachine non-const in a TLOF use and propagating that change around - I'm open to other ideas. This will be used in a future commit to handle emitting debug information with ranges. llvm-svn: 199871
* test/CodeGenCXX: Be less strict about return typesJustin Bogner2014-01-231-4/+4
| | | | | | | | Some ABIs have different return types for constructors and destructors, and we're just looking for the end of the function here. Loosen up the regex. llvm-svn: 199870
* [analyzer] Tighten up sanity checks on Objective-C property getter synthesis.Jordan Rose2014-01-234-12/+82
| | | | | | | | | | | If there are non-trivially-copyable types /other/ than C++ records, we won't have a synthesized copy expression, but we can't just use a simple load/return. Also, add comments and shore up tests, making sure to test in both ARC and non-ARC. llvm-svn: 199869
* [analyzer] Future-proof MallocChecker CFG dumping.Jordan Rose2014-01-231-7/+7
| | | | | | Now we'll get a warning if we miss a case. Refinement of r199800. llvm-svn: 199868
* Change an absolute value function in a test from floating to integer toRichard Trieu2014-01-231-1/+1
| | | | | | match argument type. llvm-svn: 199867
* [AArch64 NEON] Fix a bug about vcles_f32 and vcled_f64.Kevin Qin2014-01-232-28/+29
| | | | | | | As vcles_f32() and vcled_f64 are implemented by FCMGE, operands should make a swap. llvm-svn: 199866
* CodeGen: Fix tracking of PGO counters for the logical or operatorJustin Bogner2014-01-233-1/+57
| | | | | | | This adds tests for both logical or and for logical and, which was already correct. llvm-svn: 199865
* CodeGen: Handle PGO counters for constructors and destructorsJustin Bogner2014-01-233-0/+108
| | | | llvm-svn: 199864
* test/CodeGenCXX: Give instr-profile exception tests their own fileJustin Bogner2014-01-232-2/+2
| | | | | | | | | This test requires asserts for now, and exception handling has an awkward structure that leads to extra run lines. Because of this, the test file's not a great place for other C++ PGO tests, but instr-profile.cpp is obviously the better name for them. llvm-svn: 199863
* test/CodeGen: Fix a typoJustin Bogner2014-01-231-1/+1
| | | | llvm-svn: 199862
* [AArch64]Add CHECK for two test cases testing scalar_to_vector committed in ↵Hao Liu2014-01-231-6/+19
| | | | | | r199461. llvm-svn: 199861
* Don't redefine static_assert()Nick Kledzik2014-01-231-1/+1
| | | | llvm-svn: 199860
* Fix unwinder to build for iOSNick Kledzik2014-01-232-2/+5
| | | | llvm-svn: 199859
* fix some spell mistakes around 'ConcatVector' and 'ShuffleVector' in AArch64 ↵Kevin Qin2014-01-232-5/+5
| | | | | | backend. llvm-svn: 199858
* If a user specifies a format option to frame variable or expression, that ↵Enrico Granata2014-01-235-13/+120
| | | | | | | | format should prevail over whatever format(s) a summary specifies (see test case for an example) llvm-svn: 199857
* Unify OS X/POSIX/Linux Host spawn support.Todd Fiala2014-01-233-285/+242
| | | | | | | | | | | | | | | This fixes a bug under Linux where spawning a process via Host::LaunchProcess was disabling all blockable signals on the launched process. This caused strange behavior when attempting to kill the lldb-gdbserver process, as the child generally would not die unless killed with a non-blockable signal (e.g. 'kill -9'). This change moves several functions out of macosx/Host.mm into common/Host.cpp. In addition, two functions that needed to work across common/Host.cpp and macosx/Host.mm were moved into the Host.h header file. llvm-svn: 199856
* X86Disassembler.cpp: Fix @param introduced in r199804. [-Wdocumentation]NAKAMURA Takumi2014-01-231-1/+0
| | | | llvm-svn: 199855
* Add support for Haswell on x86_64.Greg Clayton2014-01-2210-19/+81
| | | | | | <rdar://problem/15312873> llvm-svn: 199854
* [Mips] formatting through clang-formatJack Carter2014-01-221-10/+10
| | | | llvm-svn: 199853
* Require a module.map file to load a moduleBen Langmuir2014-01-2217-44/+31
| | | | | | | | Removes some old code that allowed a module to be loaded from a pcm file even if the module.map could not be found. Also update a number of tests that relied on the old behavior. llvm-svn: 199852
* [Mips] TargetStreamer Support for .set mips16.Jack Carter2014-01-224-4/+53
| | | | | | | | | | This patch updates .set mips16 support which affects the ELF ABI and its flags. In addition the patch uses a common interface for both the MipsTargetSteamer and MipsObjectStreamer that the assembler uses for both ELF and ASCII output for these directives. llvm-svn: 199851
* Don't forget about a builtin if we're about to redeclare it and we couldn'tRichard Smith2014-01-222-8/+9
| | | | | | | | | | | | | create an implicit declaration of it (because some type it depends on is unavailable). This had the effect of causing us to not implicitly give it the right attributes. It turns out that glibc's __sigsetjmp is declared before sigjmp_buf is declared, and this resulted in us not implicitly giving it __attribute__((returns_twice)), which in turn resulted in miscompiles in any C code calling glibc's sigsetjmp. (See also the vaguely-related sourceware.org/PR4662.) llvm-svn: 199850
* Const qualify __mem_fn call operatorPeter Collingbourne2014-01-227-5/+31
| | | | | | | | QOI improvement. Differential Revision: http://llvm-reviews.chandlerc.com/D2059 llvm-svn: 199848
* Revert r162101 and replace it with a solution that works for targets where ↵Owen Anderson2014-01-223-8/+12
| | | | | | | | | | the pointer type is illegal. This is a horrible bit of code. We're calling a simplification routine *in the middle* of type legalization. We tell the simplification routine that it's running after legalization, but some of the types it will encounter will be illegal! The fix is only to invoke the simplification if the types in question were legal, so that none of its invariants will be violated. llvm-svn: 199847
* Add CHECK-LABELsMatt Arsenault2014-01-221-0/+7
| | | | llvm-svn: 199846
* Revert "R600: Add work-around for the CF stack entry HW bug"Tom Stellard2014-01-226-288/+7
| | | | | | | | | This reverts commit 35b8331cad6eb512a2506adbc394201181da94ba. The -debug-only flag for llc doesn't appear to be available in all build configurations. llvm-svn: 199845
* Tweak r199835 to use can_execute() instead of exists()Alp Toker2014-01-221-2/+3
| | | | | | | The execution code path crashes if it can't execute the binary so we might as well take precautions here. llvm-svn: 199844
* Provide a dummy section to fix a crash with inline assembly in LTO.Rafael Espindola2014-01-222-1/+30
| | | | | | Fixes pr18508. llvm-svn: 199843
* R600: Add work-around for the CF stack entry HW bugTom Stellard2014-01-226-7/+288
| | | | | | | | | | | | | | | | 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: 199842
* R600: Add some missing CF instruction definitions to the .td files.Tom Stellard2014-01-221-0/+7
| | | | | reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199841
* R600: Refactor stack size calculationTom Stellard2014-01-224-37/+158
| | | | | reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199840
* R600: CF_PUSH is the same on Evergreen and CaymanTom Stellard2014-01-222-4/+5
| | | | | reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199839
* R600: Add wavefront size property to the subtargets v2Tom Stellard2014-01-224-12/+33
| | | | | | | | v2: - Initialize wavefront size to 0 reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199838
* R600: Add stack size to .AMDGPUcsdata sectionTom Stellard2014-01-221-4/+10
| | | | | reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199837
* Handle an addrspacecast case in memcpyoptMatt Arsenault2014-01-222-1/+18
| | | | llvm-svn: 199836
* Eliminate inappropriate use of FindProgramByName() from lliAlp Toker2014-01-2215-22/+23
| | | | llvm-svn: 199835
* If an attribute has a semantically meaningful spelling (such as ↵Aaron Ballman2014-01-222-5/+13
| | | | | | ArgumentWithTypeTagAttr or MSInheritanceAttr), display the spelling used for the attribute as part of the AST dump. This should ease debugging the AST for these attributes. Attributes without semantically meaningful spelling variations are not affected. llvm-svn: 199834
* Get right cost for addrspacecast in cost modelMatt Arsenault2014-01-221-1/+2
| | | | llvm-svn: 199833
* Fix pr18515.Rafael Espindola2014-01-222-14/+18
| | | | | | | | | | | | | My understanding (from reading just the llvm code) is that * most ppc cpus have a "sync n" instruction and an msync alias that is "sync 0". * "book e" cpus instead have a msync instruction and not the more general "sync n" This patch reflects that in the .td files, allowing a single codepath for asm ond obj streamer and incidentelly fixes a crash when EmitRawText was called on a obj streamer. llvm-svn: 199832
* Add a testcase for r199430.Quentin Colombet2014-01-221-0/+4
| | | | llvm-svn: 199831
OpenPOWER on IntegriCloud