summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* www: Rename menu itemsTobias Grosser2013-12-191-2/+2
| | | | llvm-svn: 197723
* www: Use a modern menu styleTobias Grosser2013-12-191-7/+32
| | | | llvm-svn: 197722
* [cleanup] Random assortment of simple cleanups.Joey Gouly2013-12-1919-63/+26
| | | | | | Pruning header includes and forward references and fixing comments. llvm-svn: 197720
* Update the links to the SPARC information.Rafael Espindola2013-12-191-2/+3
| | | | llvm-svn: 197719
* Make sys::ThreadLocal<> zero-initialized on non-thread builds (PR18205)Hans Wennborg2013-12-194-2/+41
| | | | | | | | | | | | | According to the docs, ThreadLocal<>::get() should return NULL if no object has been set. This patch makes that the case also for non-thread builds and adds a very basic unit test to check it. (This was causing PR18205 because PrettyStackTraceHead didn't get zero- initialized and we'd crash trying to read past the end of that list. We didn't notice this so much on Linux since we'd crash after printing all the entries, but on Mac we print into a SmallString, and would crash before printing that.) llvm-svn: 197718
* Clang-tidy: added --disable-checks, --list-checks options.Alexander Kornienko2013-12-195-57/+152
| | | | | | | | | | | | | | | | | | | | | | | Summary: Allow disabling checks by regex. By default, disable alpha.* checks, that are not particularly good tested (e.g. IdempotentOperationChecker, see http://llvm-reviews.chandlerc.com/D2427). Fixed a bug, that would disable all analyzer checks, when using a regex more strict, than 'clang-analyzer-', for example --checks='clang-analyzer-deadcode-'. Added --list-checks to list all enabled checks. This is useful to test specific values in --checks/--disable-checks. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2444 llvm-svn: 197717
* Reverting r197715 -- it appears that MSVC is happy with the code, but clang ↵Aaron Ballman2013-12-191-52/+24
| | | | | | is not. llvm-svn: 197716
* No longer leaking Argument objects after calling createArgument. However, ↵Aaron Ballman2013-12-191-24/+52
| | | | | | since an OwningPtr cannot live in a std::vector yet, there are some manual deletions that have a FIXME attached to them. These will go away once C++11 support is allowed. llvm-svn: 197715
* [CMake] Tweak r197697 to handle CMake finding the wrong llvm-config/tblgen.Jordan Rose2013-12-191-8/+17
| | | | | | | | | | | - If llvm-config fails, output an error to the user rather than allowing errors to cascade. - Always get llvm-tblgen from llvm-config's bindir. Turns out my PATH points to a really old version of LLVM; both of these fell out of trying to make this experience nicer. llvm-svn: 197714
* Stay classy (and legal) LLVM. Remove links to 3rd party SMT solver whose ↵Kay Tiong Khoo2013-12-191-4/+2
| | | | | | links may not be permanent. llvm-svn: 197713
* [X86][fast-isel] Fix select lowering.Quentin Colombet2013-12-192-2/+23
| | | | | | | | | | The condition in selects is supposed to be i1. Make sure we are just reading the less significant bit of the 8 bits width value to match this constraint. <rdar://problem/15651765> llvm-svn: 197712
* Implement the .ltorg directive for ARM assemblyDavid Peixotto2013-12-193-0/+310
| | | | | | | | | | | | This directive will write out the assembler-maintained constant pool for the current section. These constant pools are created to support the ldr-pseudo instruction (e.g. ldr r0, =val). The directive can be used by the programmer to place the constant pool in a location that can be reached by a pc-relative offset in the ldr instruction. llvm-svn: 197711
* Type attribute do not get an AST node by default, so these statements can be ↵Aaron Ballman2013-12-191-9/+1
| | | | | | removed (it's inherited automatically from TypeAttr). llvm-svn: 197710
* Unbreak ARM buildbots after r197653 by forcing the target triple on this test.Josh Magee2013-12-191-1/+1
| | | | llvm-svn: 197709
* Implement the ldr-pseudo opcode for ARM assemblyDavid Peixotto2013-12-195-1/+582
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ldr-pseudo opcode is a convenience for loading 32-bit constants. It is converted into a pc-relative load from a constant pool. For example, ldr r0, =0x10001 ldr r1, =bar will generate this output in the final assembly ldr r0, .Ltmp0 ldr r1, .Ltmp1 ... .Ltmp0: .long 0x10001 .Ltmp1: .long bar Sketch of the LDR pseudo implementation: Keep a map from Section => ConstantPool When parsing ldr r0, =val parse val as an MCExpr get ConstantPool for current Section Label = CreateTempSymbol() remember val in ConstantPool at next free slot add operand to ldr that is MCSymbolRef of Label On finishParse() callback Write out all non-empty constant pools for each Entry in ConstantPool Emit Entry.Label Emit Entry.Value Possible improvements to be added in a later patch: 1. Does not convert load of small constants to mov (e.g. ldr r0, =0x1 => mov r0, 0x1) 2. Does reuse constant pool entries for same constant The implementation was tested for ARM, Thumb1, and Thumb2 targets on linux and darwin. llvm-svn: 197708
* Removing the SourceLocation unused attribute argument type.Aaron Ballman2013-12-192-11/+0
| | | | llvm-svn: 197707
* Add a finishParse() callback to the targer asm parserDavid Peixotto2013-12-192-0/+9
| | | | | | | | This callback is invoked when the parse has finished successfuly. It will be used to write out ARM constant pools to implement the ldr pseudo. llvm-svn: 197706
* Improved fix for PR17827 (instcombine of shift/and/compare).Kay Tiong Khoo2013-12-191-22/+32
| | | | | | | | | This change fixes the case of arithmetic shift right - do not attempt to fold that case. This change also relaxes the conditions when attempting to fold the logical shift right and shift left cases. No additional IR-level test cases included at this time. See http://llvm.org/bugs/show_bug.cgi?id=17827 for proofs that these are correct transformations. llvm-svn: 197705
* ObjectiveC. Sema test for property, methods Fariborz Jahanian2013-12-191-0/+9
| | | | | | 'section' attribute. // rdar://15450637 llvm-svn: 197704
* Revert r197682, "[CMake] Introduce LIT in add_lit_target."NAKAMURA Takumi2013-12-191-5/+2
| | | | llvm-svn: 197703
* check-clang: Suppress LLVM_LIT in add_lit_testsuite, for now.NAKAMURA Takumi2013-12-191-1/+1
| | | | llvm-svn: 197702
* Move testcase to the appropriate X86 subdirectory.Adrian Prantl2013-12-191-0/+0
| | | | llvm-svn: 197701
* Small simplification: p0 is the same as p.Rafael Espindola2013-12-192-2/+2
| | | | llvm-svn: 197700
* Small simplification, p0 is the same as p.Rafael Espindola2013-12-191-1/+1
| | | | llvm-svn: 197699
* clang-format: Increase penalty for breaking comments.Daniel Jasper2013-12-192-10/+10
| | | | | | | | | | | | | Unexpectedly, it seems that people commonly know what they were doing when writing a comment. Also, being more conservative about comment breaking has the advantage of giving more flexibility. If a linebreak within the comment can improve formatting, the author can add it (after which clang-format won't undo it). There is no way to override clang-format's behavior if it breaks a comment. llvm-svn: 197698
* [CMake][Standalone] Rewrite standalone build based on llvm-config. ↵NAKAMURA Takumi2013-12-192-95/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CLANG_PATH_TO_LLVM_*(s) are deprecated. Checked on VS10(multiconfig) and some singleconfig builders. * Assumptions - You should specify llvm-config as LLVM_CONFIG. CMake could find one in $PATH by default. - ENABLE_ASSERTIONS obeys LLVM's. * Use cases a) With LLVM build tree Assume llvm-config is in your build tree. Everything should work as ever. b) With *installed* LLVM Assume distributions. The source tree can be optional. b1) The source tree is provided on the location `llvm-config --src-root` - Test utils, FileCheck &c., are imported and built in the new tree. - Gtest is built in the tree if gtest library is not found. - Lit is used in $(SRCROOT)/utils/lit/lit.py. b2) The source tree is not provided - clang and utilities can be built. - All tests, unittests and check-clang are invalidated and not built. llvm-svn: 197697
* Support for microMIPS control instructions.Zoran Jovanovic2013-12-195-25/+158
| | | | llvm-svn: 197696
* Fix comment typo.Will Wilson2013-12-191-1/+1
| | | | llvm-svn: 197695
* Long doubles are required to be aligned to 128 bits and svr4 32 bits.Rafael Espindola2013-12-191-4/+0
| | | | | | Clang was already getting this right. llvm-svn: 197694
* Add a disassembler to the PowerPC backendHal Finkel2013-12-1919-3/+4352
| | | | | | | | | | | | | | | | | | | | | The tests for the disassembler were adapted from the encoder tests, and for the most part, the output from the disassembler matches that encoder-test inputs. There are some places where more-informative mnemonics could be produced (notably for the branch instructions), and those cases are noted in the tests with FIXMEs. Future work includes: - Generating more-informative mnemonics when possible (this may also be done in the printer). - Remove the dependence on positional "numbered" operand-to-variable mapping (for both encoding and decoding). - Internally using 64-bit instruction variants in 64-bit mode (if this turns out to matter). llvm-svn: 197693
* Support for microMIPS LL and SC instructions.Zoran Jovanovic2013-12-196-6/+51
| | | | llvm-svn: 197692
* Add support for positionally-encoded operands to FixedLenDecoderEmitterHal Finkel2013-12-192-4/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, the PowerPC instruction definitions make heavy use of the positional operand encoding heuristic to map operands onto bitfield variables in the instruction definitions. Changing this to use name-based mapping is not trivial, however, because additional infrastructure needs to be designed to handle mapping of complex operands (with multiple suboperands) onto multiple bitfield variables. In the mean time, this adds support for positionally encoded operands to FixedLenDecoderEmitter, so that we can generate a disassembler for the PowerPC backend. To prevent an accidental reliance on this feature, and to prevent an undesirable interaction with existing disassemblers, a backend must opt-in to this support by setting the new decodePositionallyEncodedOperands instruction-set bit to true. When enabled, this iterates the variables that contribute to the instruction encoding, just as the encoder does, and emulates the procedure the encoder uses to map "numbered" operands to variables. The bit range for each variable is also determined as the encoder determines them. This map is then consulted during the decoder-generator's loop over operands to decode, allowing the decoder to understand both position-based and name-based operand-to-variable mappings. As noted in the comment on the decodePositionallyEncodedOperands definition, this support should be removed once it is no longer needed. There should be no change to existing disassemblers. llvm-svn: 197691
* clang-format: Slightly adapt decision of when to break before <<.Daniel Jasper2013-12-192-1/+3
| | | | | | | | | | | | Before: Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa) << aaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaa); After: Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa) << aaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaa); llvm-svn: 197690
* Add a triple so that this passes on OS X.Rafael Espindola2013-12-191-1/+1
| | | | | | I am surprised I am the first one to notice this. llvm-svn: 197689
* [CMake] check-clang: Include ClangUnitTests if it can be built. Check ↵NAKAMURA Takumi2013-12-192-8/+7
| | | | | | existence of gtest.h then. llvm-svn: 197688
* [CMake] check-clang: Append items to CLANG_TEST_DEPS rather than set. ↵NAKAMURA Takumi2013-12-191-1/+1
| | | | | | CLANG_TEST_DEPS can be set in parent scope. llvm-svn: 197687
* [CMake] check-clang: Deprecate --path, according to r197576.NAKAMURA Takumi2013-12-191-4/+0
| | | | llvm-svn: 197686
* Support for microMIPS TLS relocations.Zoran Jovanovic2013-12-197-2/+34
| | | | llvm-svn: 197685
* llvm-config: Don't show build tree with --obj-root for installed ↵NAKAMURA Takumi2013-12-191-1/+1
| | | | | | llvm-config. Show $(prefix) instead. llvm-svn: 197684
* llvm-config: Show build root instead of parent path in build tree with ↵NAKAMURA Takumi2013-12-191-0/+1
| | | | | | --obj-root for CMake multiconfig. llvm-svn: 197683
* [CMake] Introduce LIT in add_lit_target.NAKAMURA Takumi2013-12-191-2/+5
| | | | llvm-svn: 197682
* Switching getAttrs calls over to using a specific_attr_iterator. No ↵Aaron Ballman2013-12-191-8/+8
| | | | | | functional changes intended. llvm-svn: 197681
* Add support for PointerLikeRegClass to FixedLenDecoderEmitterHal Finkel2013-12-191-0/+4
| | | | | | | | This is more prep for adding the PowerPC disassembler. FixedLenDecoderEmitter should recognize PointerLikeRegClass operands as register types, and generate register-like decoding calls instead of treating them like immediates. llvm-svn: 197680
* [dfsan] Simplify code after r197677.Evgeniy Stepanov2013-12-191-19/+14
| | | | llvm-svn: 197679
* Switched code from using hasAttr followed by getAttr to simply call getAttr ↵Aaron Ballman2013-12-191-10/+9
| | | | | | | | directly and check the resulting value. No functional changes intended. llvm-svn: 197678
* Add an explicit insert point argument to SplitBlockAndInsertIfThen.Evgeniy Stepanov2013-12-196-42/+62
| | | | | | | | Currently SplitBlockAndInsertIfThen requires that branch condition is an Instruction itself, which is very inconvenient, because it is sometimes an Operator, or even a Constant. llvm-svn: 197677
* Switched code from using hasAttr followed by getAttr to simply call getAttr ↵Aaron Ballman2013-12-191-2/+1
| | | | | | | | directly. No functional changes intended. llvm-svn: 197676
* Hosting a call to getAttr so that we don't call it multiple times for the ↵Aaron Ballman2013-12-191-9/+5
| | | | | | same attribute. Also removes a hasAttr that's not required. No functional changes intended. llvm-svn: 197675
* Teach the llvm-readobj COFF dumper to dump debug line tables from object filesTimur Iskhodzhanov2013-12-199-0/+459
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D2425 llvm-svn: 197674
* Remove the COFF files with Z7 debug info from the repoTimur Iskhodzhanov2013-12-194-0/+0
| | | | | | | Rationale: going to land D2425 shortly. I'll re-land these COFF files along with D2425 to simplify the SVN history llvm-svn: 197673
OpenPOWER on IntegriCloud