summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Added LDRT/LDRBT/STRT/STRBT for disassembly only.Johnny Chen2010-02-111-0/+32
| | | | llvm-svn: 95916
* unbreak the build.Chris Lattner2010-02-111-1/+1
| | | | llvm-svn: 95915
* Use getAs instead of cast/dyn_cast on types. (I'm sure Doug will appreciate ↵Anders Carlsson2010-02-111-6/+6
| | | | | | this). llvm-svn: 95911
* Move two functions to the top. No functionality change.Anders Carlsson2010-02-111-77/+77
| | | | llvm-svn: 95908
* Uncomment lines I never meant to have left commented in a commit.Ted Kremenek2010-02-111-3/+3
| | | | llvm-svn: 95906
* llvm-db was removed.Dan Gohman2010-02-111-16/+0
| | | | llvm-svn: 95904
* Destroy MDNodes while destructing llvm context.Devang Patel2010-02-111-1/+4
| | | | llvm-svn: 95903
* refactor x86 conditional branches to use a multipatternChris Lattner2010-02-111-1/+1
| | | | | | | that generates the 1-byte and 4-byte immediate versions from one definition. llvm-svn: 95902
* refactor the conditional jump instructions in the .td file toChris Lattner2010-02-116-133/+111
| | | | | | | use a multipattern that generates both the 1-byte and 4-byte versions from the same defm llvm-svn: 95901
* When AST merging for record declarations fails, warn about theDouglas Gregor2010-02-117-63/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | incompatibility and show where the structural differences are. For example: struct1.c:36:8: warning: type 'struct S7' has incompatible definitions in different translation units struct S7 { int i : 8; unsigned j : 8; } x7; ^ struct1.c:36:33: note: bit-field 'j' with type 'unsigned int' and length 8 here struct S7 { int i : 8; unsigned j : 8; } x7; ^ struct2.c:33:33: note: bit-field 'j' with type 'unsigned int' and length 16 here struct S7 { int i : 8; unsigned j : 16; } x7; ^ There are a few changes to make this work: - ASTImporter now has only a single Diagnostic object, not multiple diagnostic objects. Otherwise, having a warning/error printed via one Diagnostic and its note printed on the other Diagnostic could cause the note to be suppressed. - Implemented import functionality for IntegerLiteral (along with general support for statements and expressions) llvm-svn: 95900
* Make Kaleidoscope not link against the interpreter, since that didn'tJeffrey Yasskin2010-02-1112-21/+53
| | | | | | | | work anyway (Interpreter::getPointerToFunction doesn't return a callable pointer), and improve the error message when an ExecutionEngine can't be created. llvm-svn: 95896
* Add an svn:ignore.Dan Gohman2010-02-110-0/+0
| | | | llvm-svn: 95895
* Add builtins from PR5255. Implementations coming soon.Eli Friedman2010-02-111-0/+8
| | | | llvm-svn: 95894
* Test case for warnings with carets inside macro instantiations.John McCall2010-02-111-0/+8
| | | | llvm-svn: 95893
* Forgot to also check in this file for vcvt (floating-point <-> fixed-point, ↵Johnny Chen2010-02-111-0/+9
| | | | | | | | VFP). Sorry! llvm-svn: 95892
* Allow for more than one DBG_VALUE targeting theDale Johannesen2010-02-111-4/+4
| | | | | | same dead instruction. llvm-svn: 95890
* Don't allow DBG_VALUE to affect codegen.Dale Johannesen2010-02-111-0/+3
| | | | llvm-svn: 95889
* Add virtual operator= example.Anders Carlsson2010-02-111-1/+3
| | | | llvm-svn: 95888
* More vtable layout dumper improvements. Handle destructors, dump the ↵Anders Carlsson2010-02-117-27/+100
| | | | | | complete function type of the member functions (using PredefinedExpr::ComputeName. llvm-svn: 95887
* Add missing test cases for AST merging of structures.Douglas Gregor2010-02-113-0/+36
| | | | llvm-svn: 95886
* Added VCVT (between floating-point and fixed-point, VFP) for disassembly.Johnny Chen2010-02-111-0/+95
| | | | | | A8.6.297 llvm-svn: 95885
* Added BKPT/tBKPT (breakpoint) to the instruction table for disassembly purpose.Johnny Chen2010-02-112-0/+17
| | | | llvm-svn: 95884
* Use array_pod_sort instead of std::sort for improved code size.Jakob Stoklund Olesen2010-02-111-2/+2
| | | | | | | Use SmallVector instead of std::vector for better speed when indirectbr has few successors. llvm-svn: 95879
* Make sure that ConstantExpr offsets also aren't off of externEric Christopher2010-02-112-2/+23
| | | | | | | | symbols. Thanks to Duncan Sands for the testcase! llvm-svn: 95877
* Driver: Fix clang -ccc-no-clang -x c++-header foo.h on Darwin.Daniel Dunbar2010-02-111-1/+2
| | | | llvm-svn: 95876
* Keep track of, and dump, vtable address points.Anders Carlsson2010-02-112-2/+34
| | | | llvm-svn: 95874
* Add pseudo instruction TRAP for disassembly, which is encoded according to A5-21Johnny Chen2010-02-111-0/+10
| | | | | | as the "Permanently UNDEFINED" instruction. llvm-svn: 95873
* Remove noisy semicolon.Benjamin Kramer2010-02-111-1/+1
| | | | llvm-svn: 95872
* Use .empty() instead of .size().Bill Wendling2010-02-111-2/+2
| | | | llvm-svn: 95871
* Suppress warnings if their instantiation location is in a system header, notJohn McCall2010-02-111-1/+1
| | | | | | | | | | | | | their spelling location. This prevents warnings from being swallowed just because the caret is on the first parenthesis in, say, NULL. This is an experiment; the risk is that there might be a substantial number of system headers which #define symbols to expressions which inherently cause warnings. My theory is that that's rare enough that it can be worked around case-by-case, and that producing useful warnings around NULL is worth it. But I'm willing to accept that I might be empirically wrong. llvm-svn: 95870
* Patch by Cristian Draghici:Ted Kremenek2010-02-114-3/+58
| | | | | | | | | | | | Enhance the printf format string checking when using the format specifier flags ' ', '0', '+' with the 'p' or 's' conversions (since they are nonsensical and undefined). This is similar to GCC's checking. Also warning when a precision is used with the 'p' conversin specifier, since it has no meaning. llvm-svn: 95869
* dont' call getX86RegNum on X86::RIP, it doesn't like that. ThisChris Lattner2010-02-112-3/+7
| | | | | | fixes the remaining x86-64 jit failures afaik. llvm-svn: 95867
* fix a really nasty bug I introduced in r95693: r12 (and r12d, Chris Lattner2010-02-112-7/+12
| | | | | | | | | r12b, etc) also encodes to a R/M value of 4, which is just as illegal as ESP/RSP for the non-sib version an address. This fixes x86-64 jit miscompilations of a bunch of programs. llvm-svn: 95866
* Check in the beginnings of my new vtable layout builder idea.Anders Carlsson2010-02-115-10/+231
| | | | | | | | Right now, it's off by default but can be tested by passing -fdump-vtable-layouts to clang -cc1. This option will cause all vtables that will normally be emitted as part of codegen to also be dumped using the new layout code. I've also added a very simple new vtable layout test case. llvm-svn: 95865
* Attempt to always dispose of the CXIndex object in c-index-test.Ted Kremenek2010-02-111-3/+12
| | | | llvm-svn: 95864
* Use the allocator associated with ASTContext to allocate the argsTed Kremenek2010-02-114-15/+21
| | | | | | | | array associated with NonNullAttr. This fixes yet another leak when ASTContext uses a BumpPtrAllocator. Fixes: <rdar://problem/7637150> llvm-svn: 95863
* Fix (harmless) memory leak found by memcheck.Jeffrey Yasskin2010-02-111-0/+1
| | | | llvm-svn: 95862
* Have ~ASTContext() delete StoredDeclsMap (internal to DeclContext) byTed Kremenek2010-02-113-5/+44
| | | | | | | | | storing the set of StoredDeclsMaps in an internal vector of void*. This isn't an ideal solution, but for the time being this fixes a major memory leak with these DenseMaps not being freed. Fixes: <rdar://problem/7634755> llvm-svn: 95861
* Add and commonize encoder support for all immediates.Chris Lattner2010-02-111-110/+35
| | | | | | | | | | | | | | | Stub out some dummy fixups to make things work. We can now emit fixups like this: subl $20, %esp ## encoding: [0x83,0xec,A] ## fixup A - offset: 2, value: 20, kind: fixup_1byte_imm Emitting $20 as a single-byte fixup to be later resolved by the assembler is ridiculous of course (vs just emitting the byte) but this is a failure of the matcher, which should be producing an imm of 20, not an MCExpr of 20. llvm-svn: 95860
* generalize EmitDisplacementField to work with any sizeChris Lattner2010-02-111-14/+13
| | | | | | and rename it to EmitImmediate. llvm-svn: 95859
* eliminate the dead IsPCRel argument.Chris Lattner2010-02-111-9/+6
| | | | llvm-svn: 95858
* eliminate the dead "PCAdj" logic.Chris Lattner2010-02-111-22/+9
| | | | llvm-svn: 95857
* Fix some of the memcheck errors found in the JIT unittests.Jeffrey Yasskin2010-02-115-31/+20
| | | | llvm-svn: 95856
* Rename ValueRequiresCast to ShouldOptimizeCast, to better reflectChris Lattner2010-02-114-55/+113
| | | | | | | | | | | | | | what it does. Enhance it to return false to optimizing vector sign extensions from vector comparisions, which is the idiom used to get a splatted vector for a vector comparison. Doing this breaks vector-casts.ll, add some compensating transformations to handle the important case they cover without depending on this canonicalization. This fixes rdar://7434900 a serious pessimization of vector compares. llvm-svn: 95855
* convert to filecheck.Chris Lattner2010-02-111-4/+2
| | | | llvm-svn: 95854
* Remove use of 'std::string' from Attr objects, using instead a byteTed Kremenek2010-02-117-56/+90
| | | | | | | | | array allocated using the allocator in ASTContext. This addresses these strings getting leaked when using a BumpPtrAllocator (in ASTContext). Fixes: <rdar://problem/7636765> llvm-svn: 95853
* Make DSE only scan blocks that are reachable from the entryChris Lattner2010-02-112-1/+21
| | | | | | | | | block. Other blocks may have pointer cycles that will crash basicaa and other alias analyses. In any case, there is no point wasting cycles optimizing dead blocks. This fixes rdar://7635088 llvm-svn: 95852
* a testcase that doesn't crash GVN but could someday.Chris Lattner2010-02-111-3/+19
| | | | llvm-svn: 95851
* Make jump threading honor x|undef -> true and x&undef -> false,Chris Lattner2010-02-112-3/+77
| | | | | | instead of considering x|undef -> x, which may not be true. llvm-svn: 95850
* Driver: Add -rewrite-objc, which is an interface to clang -cc1 -rewrite-objc.Daniel Dunbar2010-02-116-3/+39
| | | | llvm-svn: 95849
OpenPOWER on IntegriCloud