summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* The support for remat of instructions with a register operand is hackish, to ↵Evan Cheng2008-03-311-18/+7
| | | | | | say the least. Since the register operand guaranteed to be PIC base and that it is already live at all uses, we are making sure it will not be spilled after its uses are rematerialized for both performance and correctness reasons. llvm-svn: 48976
* Quote the ocaml executablesErick Tryzelaar2008-03-311-4/+4
| | | | | | | | | | realazthat in #llvm was having problems building llvm because configure was finding an ocaml executable in a directory with a space in it's name. This patch puts quotes around the name so that llvm can build for him. llvm-svn: 48974
* Fix a major bug in the DFS calculation. Thanks for Christopher Lamb for ↵Owen Anderson2008-03-311-1/+1
| | | | | | pointing this out. llvm-svn: 48973
* rename Decl::CompatibleAlias -> ObjCCompatibleAlias.Chris Lattner2008-03-315-25/+102
| | | | | | | | | | | | | | Fix objc ivar lookup. Ivar lookup should occur between lookup of method-local values and lookup of globals. Emulate this with some logic in the handling of Sema::ActOnIdentifierExpr. Two todo's left: 1) sema shouldn't turn a bare reference to an ivar into "self->ivar" in the AST. This is a hack. 2) The new ScopedDecl::isDefinedOutsideFunctionOrMethod method does not correctly handle typedefs and enum constants yet. llvm-svn: 48972
* Don't eliminate bitcast instructions that change the type of a pointerNate Begeman2008-03-312-19/+26
| | | | llvm-svn: 48971
* some cleanups on top of David's patch. There are still twoChris Lattner2008-03-305-64/+46
| | | | | | | | | | | | | remaining open issues I've communicated to him: 1) self can be assigned to, and his patch didn't handle it correctly. 2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses all parent class ivars) and flattens classes. If A derives from B, and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}. David, please review. llvm-svn: 48970
* Add initial support for objc codegen for methods, ivars, and theChris Lattner2008-03-3013-53/+357
| | | | | | etoile runtime, patch by David Chisnall! llvm-svn: 48969
* Tweak build system to allow for installing the tutorial and uninstalling the ↵Erick Tryzelaar2008-03-303-3/+35
| | | | | | docs. llvm-svn: 48968
* Fix comment typo.Duncan Sands2008-03-301-1/+1
| | | | llvm-svn: 48967
* Fix some documentation for the tutorial.Erick Tryzelaar2008-03-302-40/+40
| | | | llvm-svn: 48966
* Moved from PR1570.Nick Lewycky2008-03-301-0/+26
| | | | llvm-svn: 48965
* stop building llvmc.Chris Lattner2008-03-301-1/+1
| | | | llvm-svn: 48964
* Fix "Control reaches the end of non-void function" warnings, Chris Lattner2008-03-3011-0/+19
| | | | | | patch by David Chisnall. llvm-svn: 48963
* minor code cleanups, allow constant folding sinf/cosf.Chris Lattner2008-03-301-20/+26
| | | | llvm-svn: 48961
* fix typo, PR2181Chris Lattner2008-03-301-2/+2
| | | | llvm-svn: 48954
* Add chapter 3 and 4 of the ocaml/kaleidoscope tutorial.Erick Tryzelaar2008-03-302-0/+2115
| | | | llvm-svn: 48949
* Cosmetic changes.Evan Cheng2008-03-291-24/+3
| | | | llvm-svn: 48947
* Honour another bunch of parameter attributes in llvm2cppAnton Korobeynikov2008-03-291-0/+8
| | | | llvm-svn: 48942
* Honour ByVal parameter attribute in llvm2cppAnton Korobeynikov2008-03-291-0/+2
| | | | llvm-svn: 48941
* change iterator invalidation avoidance to just move the iterator backwardChris Lattner2008-03-291-18/+25
| | | | | | | | | | | | | | | | | | | | | when something changes, instead of moving forward. This allows us to simplify memset lowering, inserting the memset at the end of the range of stuff we're touching instead of at the start. This, in turn, allows us to make use of the addressing instructions already used in the function instead of inserting our own. For example, we now codegen: %tmp41 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 0 ; <i8*> [#uses=2] call void @llvm.memset.i64( i8* %tmp41, i8 -1, i64 8, i32 1 ) instead of: %tmp20 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 7 ; <i8*> [#uses=1] %ptroffset = getelementptr i8* %tmp20, i64 -7 ; <i8*> [#uses=1] call void @llvm.memset.i64( i8* %ptroffset, i8 -1, i64 8, i32 1 ) llvm-svn: 48940
* make the common case of a single store (which clearly shouldn't be turnedChris Lattner2008-03-291-3/+12
| | | | | | into a memset!) faster by avoiding an allocation of an std::list node. llvm-svn: 48939
* add a testcase for forming memset from noncontiguous stores.Chris Lattner2008-03-292-1/+100
| | | | llvm-svn: 48938
* give form-memset a significantly more sane heuristic, enable it by default.Chris Lattner2008-03-291-7/+49
| | | | llvm-svn: 48937
* Remove some unneeded code for LiveInterval joining, and fix a bug in the Phi ↵Owen Anderson2008-03-291-58/+25
| | | | | | | | elimination algorithm where we were accidentally reasoning about the source rather than the destination. llvm-svn: 48936
* Cosmetic change.Evan Cheng2008-03-291-1/+1
| | | | llvm-svn: 48935
* Fix a tokenfactor node to use the load chain rather than theDan Gohman2008-03-282-1/+36
| | | | | | load value. This fixes PR2177. llvm-svn: 48932
* Only have the rewriter produce a file when there are no errors.Steve Naroff2008-03-282-31/+40
| | | | llvm-svn: 48926
* Make sure Sema::ActOnClassMessage() correctly diagnoses "super".Steve Naroff2008-03-283-1/+12
| | | | llvm-svn: 48924
* Backing out 48911 for now. It's breaking stuff.Evan Cheng2008-03-281-12/+8
| | | | llvm-svn: 48922
* Added skeleton checking for NSString's method initWithFormat: (do not pass ↵Ted Kremenek2008-03-281-3/+12
| | | | | | | | nil). This won't be useful in most cases right now because the analyzer isn't tracking expected types for an object, and [NSString alloc] just runs "id". llvm-svn: 48917
* ifdef out a dead function. Should this be removed?Chris Lattner2008-03-281-0/+2
| | | | llvm-svn: 48916
* Rename getAnyLoad to getLoad is suggested by Evan.Duncan Sands2008-03-283-22/+22
| | | | llvm-svn: 48914
* New entry.Evan Cheng2008-03-281-0/+44
| | | | llvm-svn: 48912
* Load from stub is already re-materializable.Evan Cheng2008-03-281-8/+12
| | | | llvm-svn: 48911
* Update example to new syntax.Nick Lewycky2008-03-282-3/+9
| | | | llvm-svn: 48910
* make memset inference significantly more powerful: it can now handle Chris Lattner2008-03-281-82/+184
| | | | | | | | | | memsets that initialize "structs of arrays" and other store sequences that are not sequential. This is still only enabled if you pass -form-memset-from-stores. The flag is not heavily tested and I haven't analyzed the perf regressions when -form-memset-from-stores is passed either, but this causes no make check regressions. llvm-svn: 48909
* New entry.Evan Cheng2008-03-281-0/+2
| | | | llvm-svn: 48908
* Simplify the conversion from "0x" numbers to a single digit number.Bill Wendling2008-03-281-17/+1
| | | | llvm-svn: 48907
* Add some of Ted's recent work to the VC++ project file.Steve Naroff2008-03-273-1/+14
| | | | | | Fix a couple bozo bugs in the rewriter. llvm-svn: 48903
* Collect all the preamble code and don't insert it until the end. Steve Naroff2008-03-271-79/+75
| | | | llvm-svn: 48899
* Expanded NSString checking to check for nil for a few more methods.Ted Kremenek2008-03-272-32/+118
| | | | llvm-svn: 48898
* Add line SourceLocation to NSString checks.Ted Kremenek2008-03-272-10/+33
| | | | | | Added test case to test warning about passing 'nil' to NSString's compare: method. llvm-svn: 48896
* Hooked up initial NSString interface checking to GRSimpleVals.Ted Kremenek2008-03-276-41/+71
| | | | llvm-svn: 48895
* Implement LegalizeTypes support for softfloat LOAD.Duncan Sands2008-03-274-78/+69
| | | | | | | | In order to handle indexed nodes I had to introduce a new constructor, and since I was there I factorized the code in the various load constructors. llvm-svn: 48894
* Avoid creating chain dependencies from CopyToReg nodes to load and storeDan Gohman2008-03-272-56/+73
| | | | | | | | | | | | | | | | | | nodes. This doesn't currently have much impact the generated code, but it does produce simpler-looking SelectionDAGs, and consequently simpler-looking ScheduleDAGs, because there are fewer spurious dependencies. In particular, CopyValueToVirtualRegister now uses the entry node as the input chain dependency for new CopyToReg nodes instead of calling getRoot and depending on the most recent memory reference. Also, rename UnorderedChains to PendingExports and pull it up from being a local variable in SelectionDAGISel::BuildSelectionDAG to being a member variable of SelectionDAGISel, so that it doesn't have to be passed around to all the places that need it. llvm-svn: 48893
* ProgramPoint is just a smart pointer; no reason to return a constant reference.Ted Kremenek2008-03-271-1/+1
| | | | llvm-svn: 48891
* PHI->removeIncomingValue may remove PHInode.Devang Patel2008-03-271-1/+2
| | | | | | Increment iterator in advance. llvm-svn: 48890
* Minor CSS tweaking (smaller h1 tags).Ted Kremenek2008-03-271-1/+3
| | | | | | Bug fix in EscapeText (for std::string) where spaces were not properly emitted. llvm-svn: 48889
* For HTMLDiagnostics, when emitting the name of the directory, substitute the ↵Ted Kremenek2008-03-271-2/+10
| | | | | | current working directory for "." llvm-svn: 48888
* Update Xcode project: add BasicObjCFoundationChecks.hTed Kremenek2008-03-271-0/+2
| | | | llvm-svn: 48887
OpenPOWER on IntegriCloud