summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Chris Lattner has strong opinions about directoryTed Kremenek2010-12-23255-285/+39743
| | | | | | | | | | | | layout. :) Rename the 'EntoSA' directories to 'StaticAnalyzer'. Internally we will still use the 'ento' namespace for the analyzer engine (unless there are further sabre rattlings...). llvm-svn: 122514
* Flag -> Glue, the ongoing sagaChris Lattner2010-12-2324-133/+133
| | | | llvm-svn: 122513
* Kill RecordType::getAddressSpace() and its fixme; that's just not howJohn McCall2010-12-232-7/+0
| | | | | | address spaces work. llvm-svn: 122511
* flags -> glue for selectiondagChris Lattner2010-12-2311-114/+113
| | | | llvm-svn: 122509
* Reimplement the comparison of a class template partialDouglas Gregor2010-12-233-85/+40
| | | | | | | | | | | specialization's template arguments against the primary template's template arguments using the obvious, correct method of checking the injected-class-name type (C++ [temp.class.spec]p9b3). The previous incarnation of this comparison attempted to use its own formulation of the injected-class-name, which is redudant and, with the introduction of variadic templates, became wrong (again). llvm-svn: 122508
* sdisel flag -> glue.Chris Lattner2010-12-233-86/+85
| | | | llvm-svn: 122507
* continue renaming flag -> glue.Chris Lattner2010-12-235-71/+71
| | | | llvm-svn: 122506
* When forming the injected-class-name of a variadic template, theDouglas Gregor2010-12-232-9/+67
| | | | | | | | | template argument corresponding to a template parameter pack is an argument pack of a pack expansion of that template parameter pack. Implements C++0x [temp.dep.type]p2 (at least, as much of it as we can). llvm-svn: 122498
* Fix OCaml bindings crash, PR8847.Torok Edwin2010-12-234-519/+535
| | | | | | | | | | | | | | | | | See http://caml.inria.fr/mantis/view.php?id=4166 If we call only external functions from a module, then its 'let _' bindings don't get executed, which means that the exceptions don't get registered for use in the C code. This in turn causes llvm_raise to call raise_with_arg() with a NULL pointer and cause a segmentation fault. The workaround is to declare all 'external' functions as 'val' in these .mli files. Also added a separate testcase (the testcase must call only external functions for the bug to occur). llvm-svn: 122497
* Remove/fix invalid README entries. The well thought out strcpy function ↵Benjamin Kramer2010-12-231-21/+2
| | | | | | doesn't return a pointer to the end of the string. llvm-svn: 122496
* Remove some obsolete README items, add a new one off the top of my head.Benjamin Kramer2010-12-231-78/+26
| | | | llvm-svn: 122495
* When cast derived to base, only process MemRegionVal.Zhongxing Xu2010-12-231-2/+5
| | | | llvm-svn: 122494
* Rename headers: 'clang/GR' 'clang/EntoSA' andTed Kremenek2010-12-23133-285/+285
| | | | | | update Makefile. llvm-svn: 122493
* Rename static analyzer namespace 'GR' to 'ento'.Ted Kremenek2010-12-23119-209/+209
| | | | llvm-svn: 122492
* Reorganize ListScheduleBottomUp in preparation for modeling machine cycles ↵Andrew Trick2010-12-231-130/+153
| | | | | | and instruction issue. llvm-svn: 122491
* Remove lib/Checker directory.Zhongxing Xu2010-12-230-0/+0
| | | | llvm-svn: 122475
* Converted LiveRegCycles to LiveRegGens. It's easier to work with and allows ↵Andrew Trick2010-12-231-17/+18
| | | | | | multiple nodes per cycle. llvm-svn: 122474
* In CheckForLiveRegDef use TRI->getOverlaps.Andrew Trick2010-12-231-6/+9
| | | | llvm-svn: 122473
* Fixes PR8823: add-with-overflow-128.llAndrew Trick2010-12-232-15/+34
| | | | | | | | In the bottom-up selection DAG scheduling, handle two-address instructions that read/write unspillable registers. Treat the entire chain of two-address nodes as a single live range. llvm-svn: 122472
* It's amazing what you find when you actuallyTed Kremenek2010-12-231-7/+27
| | | | | | | | | | | set the RUN line correctly in a test file! Mark a bunch of tests for ArrayBoundCheckerV2 as FIXME's, as our current lack of pointer arithmetic handling causes these to be all false positives/negatives. llvm-svn: 122471
* Further tweak nonloc::ConcreteInt pretty printingTed Kremenek2010-12-231-2/+5
| | | | | | | to correctly print out negative values for signed integers. llvm-svn: 122470
* Add WIP prototype of a new buffer overflowTed Kremenek2010-12-238-2/+424
| | | | | | | checker based on using raw (symbolic) byte offsets from a base region. llvm-svn: 122469
* Change MemRegion extent type to be the same type usedTed Kremenek2010-12-231-5/+5
| | | | | | for array indices. llvm-svn: 122468
* Add 'getConditionType()' and 'getArrayIndexType()'Ted Kremenek2010-12-231-0/+8
| | | | | | | to SValBuilder. These two query methods are useful for constructing SVals. llvm-svn: 122467
* Enhance pretty-printing for nonloc::ConcreteIntTed Kremenek2010-12-231-4/+6
| | | | | | | to also include signedness and bitwidth of the underlying integer. llvm-svn: 122466
* For the language check in GetObjectDescription, if we can't find a language ↵Jim Ingham2010-12-231-0/+12
| | | | | | runtime for the value we're looking at, BUT it IS at least a pointer, try the ObjCRuntime language. That's currently the only language runtime that has an object description method anyway... llvm-svn: 122465
* "frame variable" requires that the process be running and paused or there ↵Jim Ingham2010-12-231-1/+2
| | | | | | aren't any frames... So mark the command properly as such. llvm-svn: 122464
* Implement the part of C++0x [temp.arg.explicit]p3 that pertains toDouglas Gregor2010-12-232-1/+38
| | | | | | | | | | | | parameter packs. In particular, a parameter pack not otherwise deduced is deduced to an empty parameter pack. The C++0x wording here is a bit unfortunate; this should really only apply to function templates, and it mentions "trailing" parameter packs, which doesn't really make sense in the context of function templates. Will file a core issue separately. llvm-svn: 122463
* Preserve the address space when generating bitcasts for MemTransferInst in ↵Mon P Wang2010-12-231-3/+16
| | | | | | ConvertToScalarInfo llvm-svn: 122462
* Implement the rest of C++0x [temp.deduct.type]p9, which specifies thatDouglas Gregor2010-12-233-4/+83
| | | | | | | | the presence of a pack expansion anywhere except at the end of a template-argument-list causes the entire template-argument-list to be a non-deduced context. llvm-svn: 122461
* Add a test case for the SBFrame APIs. In particular, it uses the frame API toJohnny Chen2010-12-234-2/+185
| | | | | | | | | get the argument values of the call stacks when stopped on the breakpoint. Radar has been filed for the expected failures: test failure: ./dotest.py -v -w -t -p TestFrames (argument values are wrong) llvm-svn: 122460
* Change all self assignments X=X to (void)X, so that we can turn on aJeffrey Yasskin2010-12-237-20/+20
| | | | | | | | | new gcc warning that complains on self-assignments and self-initializations. Fix one bug found by the warning, in which one clang::OverloadCandidate constructor failed to initialize its FunctionTemplate member. llvm-svn: 122459
* Change all self assignments X=X to (void)X, so that we can turn on aJeffrey Yasskin2010-12-2320-37/+31
| | | | | | | new gcc warning that complains on self-assignments and self-initializations. llvm-svn: 122458
* Default to armv7 instead of armv6.Bill Wendling2010-12-231-1/+1
| | | | llvm-svn: 122457
* Trailing whitespace.Jim Grosbach2010-12-221-15/+15
| | | | llvm-svn: 122456
* DAGCombine add (sext i1), X into sub X, (zext i1) if sext from i1 is ↵Benjamin Kramer2010-12-222-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | illegal. The latter usually compiles into smaller code. example code: unsigned foo(unsigned x, unsigned y) { if (x != 0) y--; return y; } before: _foo: ## @foo cmpl $1, 4(%esp) ## encoding: [0x83,0x7c,0x24,0x04,0x01] sbbl %eax, %eax ## encoding: [0x19,0xc0] notl %eax ## encoding: [0xf7,0xd0] addl 8(%esp), %eax ## encoding: [0x03,0x44,0x24,0x08] ret ## encoding: [0xc3] after: _foo: ## @foo cmpl $1, 4(%esp) ## encoding: [0x83,0x7c,0x24,0x04,0x01] movl 8(%esp), %eax ## encoding: [0x8b,0x44,0x24,0x08] adcl $-1, %eax ## encoding: [0x83,0xd0,0xff] ret ## encoding: [0xc3] llvm-svn: 122455
* Be paranoid about NULL size expressions in dependently-sized array typesDouglas Gregor2010-12-221-3/+4
| | | | llvm-svn: 122454
* InstCombine: creating selects from -1 and 0 is fine, they combine into a ↵Benjamin Kramer2010-12-222-3/+18
| | | | | | sext from i1. llvm-svn: 122453
* Unify the consistency checking for deduced template arguments into aDouglas Gregor2010-12-223-127/+235
| | | | | | | | | single routine. Extend that routine to handle consistency checking for template argument packs, so that we can compare the deduced packs for template parameter packs across different pack expansions. llvm-svn: 122452
* X86: Lower a select directly to a setcc_carry if possible.Benjamin Kramer2010-12-223-54/+36
| | | | | | | | | | | | | | | | | | int test(unsigned long a, unsigned long b) { return -(a < b); } compiles to _test: ## @test cmpq %rsi, %rdi ## encoding: [0x48,0x39,0xf7] sbbl %eax, %eax ## encoding: [0x19,0xc0] ret ## encoding: [0xc3] instead of _test: ## @test xorl %ecx, %ecx ## encoding: [0x31,0xc9] cmpq %rsi, %rdi ## encoding: [0x48,0x39,0xf7] movl $-1, %eax ## encoding: [0xb8,0xff,0xff,0xff,0xff] cmovael %ecx, %eax ## encoding: [0x0f,0x43,0xc1] ret ## encoding: [0xc3] llvm-svn: 122451
* No need to pass an empty string as an arg or as an env string to the ↵Johnny Chen2010-12-224-5/+5
| | | | | | SBTarget.LaunchProcess() API. llvm-svn: 122450
* build: Use CLANG_NO_RUNTIME=1 specifically, not just any definition.Daniel Dunbar2010-12-221-1/+1
| | | | llvm-svn: 122449
* Add r122359 back now that the bug in MCDwarfLineAddrFragment fragment has beenRafael Espindola2010-12-221-19/+5
| | | | | | fixed. llvm-svn: 122448
* Constify.Dan Gohman2010-12-221-1/+1
| | | | llvm-svn: 122447
* Assert that the AddrDelta expression is really constant and wrap it in a setRafael Espindola2010-12-222-2/+10
| | | | | | if we have a lame assembler. llvm-svn: 122446
* When RegAllocGreedy decides to spill the interferences of the current register,Jakob Stoklund Olesen2010-12-221-37/+89
| | | | | | pick the victim with the lowest total spill weight. llvm-svn: 122445
* Include a shadow of the original CFG edges in the edge bundle graph.Jakob Stoklund Olesen2010-12-221-0/+4
| | | | llvm-svn: 122444
* Rename NeedsSetToChangeDiffSize to HasAggressiveSymbolFolding which is a muchRafael Espindola2010-12-224-7/+11
| | | | | | better name and matches what is used in the MachO writer. llvm-svn: 122443
* Subsequent attempt to fix linux build.Argyrios Kyrtzidis2010-12-223-1/+1
| | | | llvm-svn: 122442
* MC/Mach-O/ARM: Don't try to use scattered relocs for BR24 fixups.Daniel Dunbar2010-12-222-25/+39
| | | | llvm-svn: 122441
OpenPOWER on IntegriCloud