summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update comment of changed parameter of ModuleMap constructor.Daniel Jasper2013-12-171-2/+1
| | | | llvm-svn: 197495
* clang-format: Don't adapt local format to macros.Daniel Jasper2013-12-172-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formatting this: void f() { // 1 space initial indent. int i; #define A \ int i; \ int j; int k; // Format this line. } void f() { #define A 1 // Format this line. } Before: void f() { // 1 space initial indent. int i; #define A \ int i; \ int j; int k; // Format this line. } void f() { #define A 1 // Format this line. } After: void f() { // 1 space initial indent. int i; #define A \ int i; \ int j; int k; // Format this line. } void f() { #define A 1 // Format this line. } llvm-svn: 197494
* Fix gen_dynamic_list.py for Python 3. Patch by Marcoen Hirschberg.Alexey Samsonov2013-12-171-4/+4
| | | | llvm-svn: 197493
* Fix for PR18045:Stepan Dyatkovskiy2013-12-172-3/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | http://llvm.org/bugs/show_bug.cgi?id=18045 Short issue description: For X86 machines with sse < sse4.1 we got failures for some particular load/store vector sequences: $ clang-trunk -m32 -O2 test-case.c fatal error: error in backend: Cannot select: 0x4200920: v4i32,ch = load 0x41d6ab0, 0x4205850, 0x41dcb10<LD16[getelementptr inbounds ([4 x i32]* @e, i32 0, i32 0)](align=4)> [ORD=82] [ID=58] 0x4205850: i32 = X86ISD::Wrapper 0x41d5490 [ORD=26] [ID=43] 0x41d5490: i32 = TargetGlobalAddress<[4 x i32]* @e> 0 [ORD=26] [ID=23] 0x41dcb10: i32 = undef [ID=2] The reason is that EltsFromConsecutiveLoads could emit such load instruction both before and after legalize stage. Though this instruction is not legal for machines with SSSE3 and lower. The fix: In EltsFromConsecutiveLoads, if we have passed legalize stage, we check whether nodes it emits are legal. P.S.: If you get failure in time from 12:00 and till 22:00 (UTC-8), perhaps I'll slow with response, so you better reject this commit. Thanks! llvm-svn: 197492
* [Sanitizer] Always initialize a Symbolizer (even if 'symbolize' is false).Alexey Samsonov2013-12-178-20/+18
| | | | | | | | | If 'symbolize' flag is not set, we still want to transform virtual address to module+offset pair in the call to Symbolizer::SymbolizeCode(). See https://code.google.com/p/address-sanitizer/issues/detail?id=251 for more details. llvm-svn: 197491
* LIBRARY_PATH environment variable should only be supported on a native compiler.Richard Barton2013-12-174-1/+21
| | | | llvm-svn: 197490
* [lsan] Introduce __lsan_(un)register_root_region().Sergey Matveev2013-12-174-3/+145
| | | | | | | Add an interface for telling LSan that a region of memory is to be treated as a source of live pointers. Useful for code which stores pointers in mapped memory. llvm-svn: 197489
* [LSan] Add a real test for suppressions file instead of duplicated test case.Alexey Samsonov2013-12-172-10/+1
| | | | llvm-svn: 197488
* Add missing file from r197485.Daniel Jasper2013-12-171-0/+2
| | | | | | (Yes, the irony is not lost on me :-) ). llvm-svn: 197486
* Modules: Don't warn upon missing headers while reading the module map.Daniel Jasper2013-12-1713-49/+86
| | | | | | | | | | | | | | | Instead, mark the module as unavailable so that clang errors as soon as someone tries to build this module. This works towards the long-term goal of not stat'ing the header files at all while reading the module map and instead read them only when the module is being built (there is a corresponding FIXME in parseHeaderDecl()). However, it seems non-trivial to get there and this unblock us and moves us into the right direction. Also changed the implementation to reuse the same DiagnosticsEngine. llvm-svn: 197485
* [msan] Tweak gethostbyname_r interceptor some more.Evgeniy Stepanov2013-12-171-8/+8
| | | | | | This is covered by msan_test depending on glibc version and/or resolver setup. llvm-svn: 197484
* There are no __register_frame and __deregister_frame functions Yaron Keren2013-12-171-1/+1
| | | | | | | | | | when using structured exception handling (SEH) on Windows 64. http://llvm-reviews.chandlerc.com/D2378 Patch by Jonathan Liu! llvm-svn: 197483
* AVX-512: Added implementation of CONCAT_VECTORS for v8i1 vectors (by Alexey ↵Elena Demikhovsky2013-12-175-1/+37
| | | | | | | | Bader). Added implementation of "truncate" from integer type (i64/i32/i16/i8) to i1. llvm-svn: 197482
* Revert "Mark vastart_save_xmm_regs as changing EFLAGS"Duncan P. N. Exon Smith2013-12-172-24/+1
| | | | | | | | | This reverts commit r197469. The sanitizer and dragonegg buildbots are failing, I think because of this change. Reverting until I figure out why. llvm-svn: 197481
* [PECOFF] Truncate long section name.Rui Ueyama2013-12-172-5/+9
| | | | | | | Executable files do not use a string table, so section names longer than 8 characters are not permitted. Long section names should just be truncated. llvm-svn: 197470
* Mark vastart_save_xmm_regs as changing EFLAGSDuncan P. N. Exon Smith2013-12-172-1/+24
| | | | | | | | | | | | | The vastart_save_xmm_regs pseudo-instruction expands to a test and a branch, so it modifies EFLAGS. Mark it so, or else the scheduler might place it in the middle of another test+branch. This fixes a bug exposed by r192750, which turned on the MI Scheduler for X86. <rdar://problem/15627766> llvm-svn: 197469
* llvm-config: Let directories aware of CMAKE_CFG_INTDIR.NAKAMURA Takumi2013-12-171-7/+9
| | | | | | | | | | | | | | | | | | With llvm-config.exe --bindir --libdir --build-mode, on Visual Studio 2010, In build tree: (OBJ_ROOT)/bin/MinSizeRel (OBJ_ROOT)/lib/MinSizeRel MinSizeRel In installed tree: (INSTALL_PREFIX)/bin (INSTALL_PREFIX)/lib MinSizeRel This is enhancements since r196283. llvm-svn: 197467
* Add -mcpu=z10 to SystemZ tests.Andrew Trick2013-12-174-4/+4
| | | | llvm-svn: 197466
* Allow MachineCSE to coalesce trivial subregister copies the same way that it ↵Andrew Trick2013-12-176-14/+94
| | | | | | | | | | | | | | | | | | | | coalesces normal copies. Without this, MachineCSE is powerless to handle redundant operations with truncated source operands. This required fixing the 2-addr pass to handle tied subregisters. It isn't clear what combinations of subregisters can legally be tied, but the simple case of truncated source operands is now safely handled: %vreg11<def> = COPY %vreg1:sub_32bit; GR32:%vreg11 GR64:%vreg1 %vreg12<def> = COPY %vreg2:sub_32bit; GR32:%vreg12 GR64:%vreg2 %vreg13<def,tied1> = ADD32rr %vreg11<tied0>, %vreg12<kill>, %EFLAGS<imp-def> Test case: cse-add-with-overflow.ll. This exposed an existing bug in PPCInstrInfo::commuteInstruction. Thanks to Rafael for the test case: PowerPC/crash.ll. llvm-svn: 197465
* whitespaceAndrew Trick2013-12-171-3/+3
| | | | llvm-svn: 197464
* Tweak lit/TestingConfig.py Py3-compatible. has_key is dead.NAKAMURA Takumi2013-12-171-1/+1
| | | | llvm-svn: 197462
* [CMake][Standalone] Import LLVM_LIT_TOOLS_DIR.NAKAMURA Takumi2013-12-171-0/+5
| | | | llvm-svn: 197461
* [CMake][Standalone] Fix llvm-tblgen's directory to use LLVM_TOOLS_BINARY_DIR ↵NAKAMURA Takumi2013-12-171-2/+2
| | | | | | | | | instead of LLVM_BINARY_DIR. LLVM_BINARY_DIR points OBJROOT. FIXME: llvm-config should show *real* bindir with --bindir. llvm-svn: 197460
* [CMake][Standalone] Fixup r197395 for standalone build.NAKAMURA Takumi2013-12-172-0/+12
| | | | | | Standalone scripts shall be rewritten. llvm-svn: 197459
* Make comment more explicit.Jim Grosbach2013-12-171-3/+3
| | | | | | | Re-reading the comment I updated in previous commit, it's better to make it more explicit and avoid ambiguity more effectively. llvm-svn: 197458
* Typo. s/reserved/preserved/Jim Grosbach2013-12-171-1/+1
| | | | llvm-svn: 197457
* Add a machine code print in DEBUG() following instruction selection.Jim Grosbach2013-12-171-0/+3
| | | | | | | Make debugging ISel a bit easier by printing out a dump of the generated code at the end. llvm-svn: 197456
* ASTContext: Refactor implicit record creationAlp Toker2013-12-173-77/+45
| | | | | | | | Tidy up built-in record creation to reduce code duplication. Continuation of r197336. llvm-svn: 197452
* Revert r197438 and r197447 until we figure out how to avoid circular ↵Quentin Colombet2013-12-1712-497/+9
| | | | | | dependency at link time llvm-svn: 197451
* Add a test for -fno-diagnostics-fixit-infoDmitri Gribenko2013-12-171-0/+16
| | | | llvm-svn: 197450
* LoopVectorizer: Don't if-convert constant expressions that can trapArnold Schwaighofer2013-12-172-1/+94
| | | | | | | | | | A phi node operand or an instruction operand could be a constant expression that can trap (division). Check that we don't vectorize such cases. PR16729 radar://15653590 llvm-svn: 197449
* ObjectiveC migrator. Fixes a bug when protocolFariborz Jahanian2013-12-173-1/+35
| | | | | | conformance is inferred. // rdar://15515206 llvm-svn: 197448
* [LLVM Diagnostic Capabilities] Remove useless includes fromQuentin Colombet2013-12-171-2/+0
| | | | | | | | | DiagnosticPrinter.cpp. These was creating a link time dependencies of IR on CodeGen and Analysis. Part of <rdar://problem/15515174> llvm-svn: 197447
* Add missing trailing comma in llvm-lit.inReid Kleckner2013-12-171-1/+1
| | | | | | | I was testing a stale bin/llvm-lit, which now lives at bin/llvm-lit.py on Windows. llvm-svn: 197446
* For -Wconsumed, walk the namespaces to find if the top most namespace is "std"Richard Trieu2013-12-172-2/+21
| | | | | | | to determine if a move function is the std::move function. This allows functions like std::__1::move to also be treated a the move function. llvm-svn: 197445
* Add the lit site config for unittests to bin/llvm-litReid Kleckner2013-12-171-0/+2
| | | | | | | | | | This missing parameter was causing bin/llvm-lit to run the unittests from my primary build directory instead of my self-hosting build directory because llvm-config was on my PATH. This more closely matches what 'make check' will pass to lit.py. llvm-svn: 197444
* Reorder these DataLayout entries to match the order LLVM uses.Rafael Espindola2013-12-172-12/+7
| | | | | | | This completes the cleanup/refactoring of DataLayout on the clang side. Next is figuring out the differences between the llvm and clang produced strings llvm-svn: 197442
* clang/lib/Headers/CMakeLists.txt: Revert part of r197395. It should not be ↵NAKAMURA Takumi2013-12-171-1/+1
| | | | | | staged yet. llvm-svn: 197441
* The preferred alignment defaults to the ABI one. Omit it if it is the same.Rafael Espindola2013-12-162-113/+113
| | | | llvm-svn: 197440
* llvm-cov: Marked secondary print functions private.Yuchen Wu2013-12-161-1/+2
| | | | llvm-svn: 197439
* Add warning capabilities in LLVM.Quentin Colombet2013-12-1612-9/+499
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds a new LLVMContext::diagnose that can be used to communicate to the front-end, if any, that something of interest happened. The diagnostics are supported by a new abstraction, the DiagnosticInfo class. The base class contains the following information: - The kind of the report: What this is about. - The severity of the report: How bad this is. This patch also adds 2 classes: - DiagnosticInfoInlineAsm: For inline asm reporting. Basically, this diagnostic will be used to switch to the new diagnostic API for LLVMContext::emitError. - DiagnosticStackSize: For stack size reporting. Comes as a replacement of the hard coded warning in PEI. This patch also features dynamic diagnostic identifiers. In other words plugins can use this infrastructure for their own diagnostics (for more details, see getNextAvailablePluginDiagnosticKind). This patch introduces a new DiagnosticHandlerTy and a new DiagnosticContext in the LLVMContext that should be set by the front-end to be able to map these diagnostics in its own system. http://llvm-reviews.chandlerc.com/D2376 <rdar://problem/15515174> llvm-svn: 197438
* Remove another default I missed before.Rafael Espindola2013-12-162-2/+2
| | | | llvm-svn: 197437
* ObjectiveC. Further improvements of useFariborz Jahanian2013-12-169-52/+63
| | | | | | | | | | of objc_bridge_related attribute; eliminate unnecessary diagnostics which is issued elsewhere, fixit now produces a valid AST tree per convention. This results in some simplification in handling of this attribute as well. // rdar://15499111 llvm-svn: 197436
* Clang DataLayout string cleanup: don't print other defaults.Rafael Espindola2013-12-162-3/+3
| | | | | | I missed these in previous commits. llvm-svn: 197435
* Enable double to float shrinking optimizations for binary functions like ↵Yi Jiang2013-12-166-9/+172
| | | | | | 'fmin/fmax'. Fix radar:15283121 llvm-svn: 197434
* Remove dead data.Rafael Espindola2013-12-162-2/+2
| | | | | | | The f80:128:128 was followed by a f80:32:32 and so never used. Looks like this was there since r91746. llvm-svn: 197433
* llvm-cov: Added -u option for unconditional branch info.Yuchen Wu2013-12-166-11/+208
| | | | | | | | | Outputs branch information for unconditional branches in addition to conditional branches. -b option must be enabled. Also updated tests. llvm-svn: 197432
* [Stackmap] Allow WebKit_JS calling convention to store 4 byte sized and ↵Juergen Ributzka2013-12-162-6/+43
| | | | | | | | | aligned arguments. This allows the WebKit_JS calling convention to perform partial writes on a 4 byte granularity to stack slots. llvm-svn: 197431
* Clang DataLayout string cleanup: don't print the pointer defaults.Rafael Espindola2013-12-162-22/+22
| | | | llvm-svn: 197430
* Clang DataLayout string cleanup: don't print the aggregate defaults.Rafael Espindola2013-12-162-12/+12
| | | | llvm-svn: 197429
OpenPOWER on IntegriCloud