summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] Add support for FP_HP_extension build attributeBradley Smith2013-11-124-7/+31
| | | | llvm-svn: 194470
* [mips][msa] Added support for matching bset, bseti, bneg, and bnegi from ↵Daniel Sanders2013-11-123-70/+464
| | | | | | normal IR (i.e. not intrinsics) llvm-svn: 194469
* [sanitizer] Avoid needless use of stringification (#symver) in ↵Evgeniy Stepanov2013-11-123-7/+7
| | | | | | | | INTERCEPT_FUNCTION_VER. This is a workaround for clang-format bug (PR17874). llvm-svn: 194468
* [mips][msa] Change constant used in ori tests to avoid conflict with bseti ↵Daniel Sanders2013-11-121-16/+16
| | | | | | | | | | | | (also xori to avoid bnegi) Upcoming commit(s) are going to add support for bseti and bnegi. This would cause some existing tests to (correctly) change behaviour and emit a different instruction. This patch prevents this by changing the constant used in ori and xori tests so that they will not be matchable by the bseti and bnegi patterns when these instructions are matchable from normal IR. llvm-svn: 194467
* XCore target: fix bug in aligning 'byval i8*' on the stackRobert Lytton2013-11-122-1/+16
| | | | llvm-svn: 194466
* XCore target test for hidden declarationRobert Lytton2013-11-121-1/+5
| | | | llvm-svn: 194465
* Add XCore support for ATOMIC_FENCE.Robert Lytton2013-11-124-1/+41
| | | | | | | | | | ATOMIC_FENCE is lowered to a compiler barrier which is codegen only. There is no need to emit an instructions since the XCore provides sequential consistency. Original patch by Richard Osborne llvm-svn: 194464
* XCore target: return error for unsupported alignmentRobert Lytton2013-11-122-0/+13
| | | | llvm-svn: 194463
* XCore target requires preferred alignment.Robert Lytton2013-11-122-3/+14
| | | | | | | | The xcore llvm backend does not handle 8 byte alignment viz: "%BadAlignment = alloca i64, align 8" So getPreferredTypeAlign() must never overalign. llvm-svn: 194462
* XCore target Type defines.Robert Lytton2013-11-122-4/+9
| | | | | | | Change SizeType, PtrDiffType, IntPtrType, WCharType, WIntType to follow the XMOS llvm-gcc front end's settings. llvm-svn: 194461
* XCore target has -fno-use-cxa-atexit as default.Robert Lytton2013-11-122-2/+4
| | | | llvm-svn: 194460
* Change data structure to memorize computed result in ScalarEvolutionWan Xiaofei2013-11-122-25/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace std::map with SmallVector to memorize the cached result since SCEV usually belongs to little Loop/BB Linear scan on SmallVector is faster than std::map. Code reviewer : Andrew Trick. Test result : Pass Unit Test & LLVM Test Suite 401.bzip2 0.425721 0.419981 101.37% 403.gcc 24.53855 24.2667 101.12% 429.mcf 0.060847 0.059944 101.51% 433.milc 0.646009 0.636119 101.55% 444.namd 1.383928 1.370614 100.97% 445.gobmk 5.836575 5.800225 100.63% 450.soplex 1.911257 1.895963 100.81% 456.hmmer 1.039565 1.032534 100.68% 458.sjeng 0.897401 0.885567 101.34% 464.h264ref 3.645908 3.577991 101.90% 470.lbm 0.049456 0.048398 102.19% 471.omnetpp 5.638575 5.60435 100.61% bitmnp01 0.045738 0.045291 100.99% cjpegv2data 0.304359 0.302833 100.50% idctrn01 0.046433 0.045763 101.46% quake2 4.534416 4.4952 100.87% quake 2.688566 2.659208 101.10% xcsoar 12.42545 12.30385 100.99% linpack 0.038739 0.03803 101.86% matrix01 0.053564 0.0528 101.45% nbench 0.402867 0.395803 101.78% tblook01 0.021265 0.021015 101.19% ttsprk01 0.066384 0.065566 101.25% llvm-svn: 194459
* Tests for core issue 201-215.Richard Smith2013-11-122-11/+112
| | | | llvm-svn: 194458
* Correct a glitch in r194424 which may invalidate iterator.Shuxin Yang2013-11-121-1/+3
| | | | llvm-svn: 194457
* Add new FileCheck feature to 3.4 release notesMatt Arsenault2013-11-121-0/+3
| | | | llvm-svn: 194456
* Add initial --extended / -e support to thread backtrace.Jason Molenda2013-11-123-5/+57
| | | | llvm-svn: 194455
* Revert "Added basic unit test for llvm-cov."Yuchen Wu2013-11-127-169/+0
| | | | | | | | | | | This reverts commit r194451. Not sure why the tests are failing on the buildbot. They run fine on my local machine. Could it possibly be because of the endianness of the architectures? The GCNO and GCDA files are little-endian encoded, and llvm-cov expects it to remain that way. Is this a safe assumption? llvm-svn: 194454
* llvm-cov: Added call to update run/program counts.Yuchen Wu2013-11-123-0/+8
| | | | | | Also updated test files that were generated from this change. llvm-svn: 194453
* Keep the old function order in CodeGenModule::applyReplacements.Rafael Espindola2013-11-122-10/+24
| | | | | | | | | | | | | | The original decls are created when used. The replacements are created at the end of the TU in reverse order. This makes the original order far better for testing. This is particularly important since the replacement logic could be used even when -mconstructor-aliases is not used, but that would make many tests hard to read. This is a fixed version of r194357 which handles replacing a destructor with another which is an alias to a third one. llvm-svn: 194452
* Added basic unit test for llvm-cov.Yuchen Wu2013-11-127-0/+169
| | | | | | | | | This test compares the output of llvm-cov against a coverage file generated by gcov. Since the source file must be in the current directory when reading GCNO files, the test will first cd into the Inputs directory. llvm-svn: 194451
* This reverts commit r194435 and r194434.Rafael Espindola2013-11-122-12/+2
| | | | | | Trying to get the bots green. llvm-svn: 194450
* COSMETIC: Fix 80 column overflow in some comments introduced in r194188Faisal Vali2013-11-121-7/+7
| | | | | | no functionality change. llvm-svn: 194449
* A quick fix to PR17877 that was introduced by r194188 ↵Faisal Vali2013-11-122-4/+40
| | | | | | | | | | | | | | | | (generic-lambda-capturing) that broke libc++. See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-November/033369.html for discussion on cfe-dev. This fix explicitly checks whether we are within the declcontext of a lambda's call operator - which is what I had intended to be true (and assumed would be true if getCurLambda returns a valid pointer) before checking whether a lambda can capture the potential-captures of the innermost lambda. A deeper fix (that addresses why getCurLambda() returns a valid pointer when perhaps it shouldn't?) - as proposed by Richard Smith in http://llvm.org/bugs/show_bug.cgi?id=17877 - has been suggested as a FIXME. Patch was LGTM'd by Richard (just barely :) http://llvm-reviews.chandlerc.com/D2144 llvm-svn: 194448
* Fixed moduleImport and ident callbacks. Fixed modules test. Added ident ↵John Thompson2013-11-123-10/+20
| | | | | | callback test. A better test for moduleExport is coming. llvm-svn: 194447
* Remove C++11ism.Richard Smith2013-11-121-1/+1
| | | | llvm-svn: 194446
* Extra test for r194444.Richard Smith2013-11-121-0/+12
| | | | llvm-svn: 194445
* Rather than duplicating extension diagnostics to allow them to cause aRichard Smith2013-11-1217-106/+73
| | | | | | | | | | substitution failure, allow a flag to be set on the Diagnostic object, to mark it as 'causes substitution failure'. Refactor Diagnostic.td and the tablegen to use an enum for SFINAE behavior rather than a bunch of flags. llvm-svn: 194444
* R600/SI: Change formatting of printed registers.Matt Arsenault2013-11-1255-282/+343
| | | | | | | | | | | | | | | | | | | | | | | Print the range of registers used with a single letter prefix. This better matches what the shader compiler produces and is overall less obnoxious than concatenating all of the subregister names together. Instead of SGPR0, it will print s0. Instead of SGPR0_SGPR1, it will print s[0:1] and so on. There doesn't appear to be a straightforward way to get the actual register info in the InstPrinter, so this parses the generated name to print with the new syntax. The required test changes are pretty nasty, and register matching regexes are now worse. Since there isn't a way to add to a variable in FileCheck, some of the tests now don't check the exact number of registers used, but I don't think that will be a real problem. llvm-svn: 194443
* Change the default branch instruction to be the 16 bit variety for mips16.Reed Kotler2013-11-124-5/+63
| | | | | | | | | | | This has no material effect at this time since we don't have a direct object emitter for mips16 and the assembler can't tell them apart. I place a comment "16 bit inst" for those so that I can tell them apart in the output. The constant island pass has only been minimally changed to allow this. More complete branch work is forthcoming but this is the first step. llvm-svn: 194442
* -fms-compatibility: Use C++98 null pointer constant rulesReid Kleckner2013-11-122-2/+24
| | | | | | Patch by Will Wilson! llvm-svn: 194441
* [extra] pp-trace - Add test for conditional callbacks.John Thompson2013-11-121-0/+294
| | | | llvm-svn: 194440
* COSMETIC: Right justify an asterix in the previous refactoring.Faisal Vali2013-11-121-1/+1
| | | | | | | | Hopefully Richard won't notice this terrible egregiocity - clearly the work of a malevolent poltergeist - fixed now ;) No functionality change. llvm-svn: 194439
* REFACTOR: Have PushLambdaScope return the LambdaScopeInfo that it creates.Faisal Vali2013-11-124-7/+8
| | | | | | | | No Functionality change. This refactoring avoids having to call getCurLambda right after PushLambdaScope, to obtain the LambdaScopeInfo that was created during the call to PushLambdaScope. llvm-svn: 194438
* Extract a bc attr parsing helper that returns Attribute::None on errorReid Kleckner2013-11-121-78/+49
| | | | | | | The parsing method still returns llvm::error_code for consistency with other parsing methods. Minor cleanup, no functionality change. llvm-svn: 194437
* Add object logging to HistoryThread. Call the DoDestroy() method fromJason Molenda2013-11-121-0/+8
| | | | | | the HistoryThread dtor. llvm-svn: 194436
* ObjectiveC. Try to unbreak buildbot.Fariborz Jahanian2013-11-121-1/+1
| | | | llvm-svn: 194435
* ObjectiveC. By default allow array/dictionary subscripting inFariborz Jahanian2013-11-112-2/+12
| | | | | | ObjectiveC legacy runtime too. // rdar://15363492 llvm-svn: 194434
* R600/SI: Add test that fails due to requiring i64 mul for pointersMatt Arsenault2013-11-111-0/+18
| | | | llvm-svn: 194433
* Patch from Bruce Mitchener; fixes two typos in comments. No functionality ↵Marshall Clow2013-11-112-2/+2
| | | | | | change. PR17843 llvm-svn: 194432
* Lower X86::MORESTACK_RET and X86::MORESTACK_RET_RESTORE_R10 inLang Hames2013-11-111-12/+12
| | | | | | | | | | | | | | X86AsmPrinter::EmitInstruction, rather than X86MCInstLower::Lower. The aim is to improve the reusability of the X86MCInstLower class by making it more function-like. The X86::MORESTACK_RET_RESTORE_R10 pseudo broke the function model by emitting an extra instruction to the MCStreamer attached to the AsmPrinter. The patch should have no impact on generated code. llvm-svn: 194431
* Add a testcase where we replace a destructor with an alias.Rafael Espindola2013-11-111-0/+16
| | | | | | This is a reduced testcase from a cast to Function failing during bootstrap. llvm-svn: 194430
* ARM: make assembly files compile Thumb2 with nop IT block.Tim Northover2013-11-118-7/+33
| | | | | | | | ARM's UAL syntax allows the same assembly file to be compiled in both ARM and Thumb mode. Conditional execution is handled by requiring the Thumb IT blocks, but essentially ignoring them when compiling for ARM. llvm-svn: 194429
* Fix the recently added anyregcc convention to handle spilled operands.Andrew Trick2013-11-112-9/+47
| | | | | | | | | | | | Fixes <rdar://15432754> [JS] Assertion: "Folded a def to a non-store!" The primary purpose of anyregcc is to prevent a patchpoint's call arguments and return value from being spilled. They must be available in a register, although the calling convention does not pin the register. It's up to the front end to avoid using this convention for calls with more arguments than allocatable registers. llvm-svn: 194428
* Print new JavaScript calling conventions symbolically.Andrew Trick2013-11-111-0/+2
| | | | llvm-svn: 194427
* [mips] Partially revert r193640. Stack alignment should not be determined byAkira Hatanaka2013-11-114-25/+14
| | | | | | the floating point register mode. llvm-svn: 194426
* R600: Use function inputs to represent data stored in gprVincent Lejeune2013-11-1129-321/+285
| | | | llvm-svn: 194425
* Fix PR17952.Shuxin Yang2013-11-119-28/+396
| | | | | | | | | | | | | | | | | | | | | | | The symptom is that an assertion is triggered. The assertion was added by me to detect the situation when value is propagated from dead blocks. (We can certainly get rid of assertion; it is safe to do so, because propagating value from dead block to alive join node is certainly ok.) The root cause of this bug is : edge-splitting is conducted on the fly, the edge being split could be a dead edge, therefore the block that split the critial edge needs to be flagged "dead" as well. There are 3 ways to fix this bug: 1) Get rid of the assertion as I mentioned eariler 2) When an dead edge is split, flag the inserted block "dead". 3) proactively split the critical edges connecting dead and live blocks when new dead blocks are revealed. This fix go for 3) with additional 2 LOC. Testing case was added by Rafael the other day. llvm-svn: 194424
* [mips] Partially revert r193641. Stack alignment should not be determined byAkira Hatanaka2013-11-112-3/+2
| | | | | | | the floating point register mode. llvm-svn: 194423
* [extra] pp-trace - Test for moduleImport.John Thompson2013-11-113-0/+29
| | | | llvm-svn: 194422
* Add support for DT_VERxxx and DT_MIPS_xxx .dynamic section entries to theSimon Atanasyan2013-11-114-0/+62
| | | | | | | | | llvm-readobj. The patch reviewed by Michael Spencer. http://llvm-reviews.chandlerc.com/D2113 llvm-svn: 194421
OpenPOWER on IntegriCloud