summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
* -Move the DwarfWriter::ValidDebugInfo check to a static ↵Argyrios Kyrtzidis2009-05-032-3/+4
| | | | | | | | DIDescriptor::ValidDebugInfo -Create DebugLocs without the need to have a DwarfWriter around llvm-svn: 70682
* Revert r70645 for now; it's causing a variety of regressions.Dan Gohman2009-05-033-18/+35
| | | | llvm-svn: 70661
* Convert ScalarEvolution to use CallbackVH for its internal map. ThisDan Gohman2009-05-023-35/+18
| | | | | | | | | makes ScalarEvolution::deleteValueFromRecords, and it's code that subtly needed to be called before ReplaceAllUsesWith, unnecessary. It also makes ValueDeletionListener unnecessary. llvm-svn: 70645
* Apply Jeffrey Yasskin's CallbackVH patch, with minor tweaks from meDan Gohman2009-05-021-1/+45
| | | | | | | to make the copy constructor and destructor protected, and corresponding adjustments to the unittests. llvm-svn: 70644
* Include <limits.h> to get the definition of CHAR_BIT.Dan Gohman2009-05-021-0/+1
| | | | llvm-svn: 70643
* Previously, RecursivelyDeleteDeadInstructions provided an optionDan Gohman2009-05-022-7/+39
| | | | | | | | | | | | | | | | | | of returning a list of pointers to Values that are deleted. This was unsafe, because the pointers in the list are, by nature of what RecursivelyDeleteDeadInstructions does, always dangling. Replace this with a simple callback mechanism. This may eventually be removed if all clients can reasonably be expected to use CallbackVH. Use this to factor out the dead-phi-cycle-elimination code from LSR utility function, and generalize it to use the RecursivelyDeleteTriviallyDeadInstructions utility function. This makes LSR more aggressive about eliminating dead PHI cycles; adjust tests to either be less trivial or to simply expect fewer instructions. llvm-svn: 70636
* When ScalarEvolution is told to forget the trip count for a loop, haveDan Gohman2009-05-021-0/+5
| | | | | | | it also forget any SCEVs associated with loop-header PHIs in the loop, as they may be dependent on trip count information. llvm-svn: 70633
* Drop the default assumption about alignment down to 2 bits from 3. This ↵Chris Lattner2009-05-011-2/+2
| | | | | | | | apparently helps some problems on win32 platforms (PR4119) llvm-svn: 70603
* Prevent looping when DenseSet is abused.Stuart Hastings2009-05-011-1/+1
| | | | llvm-svn: 70572
* Actually insert inserted instructions into the InsertedValues map.Dan Gohman2009-05-011-2/+2
| | | | llvm-svn: 70557
* Add an accessor method to allow clients to test if a given expressionDan Gohman2009-05-011-0/+6
| | | | | | is associated with a SCEV expansion. llvm-svn: 70556
* Make SCEVExpander::addInsertedValue able to accept Values, not justDan Gohman2009-05-011-5/+5
| | | | | | Instructions. llvm-svn: 70552
* Fix compilation for some targets other than x86.Argyrios Kyrtzidis2009-04-301-0/+1
| | | | llvm-svn: 70522
* Add a comment to refer to the section of the programmer's manual that ↵Stefanus Du Toit2009-04-301-0/+9
| | | | | | explains what the pointer tagging in Use is for. llvm-svn: 70521
* Make DebugLoc independent of DwarfWriter.Argyrios Kyrtzidis2009-04-303-20/+18
| | | | | | | | -Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable* -Remove DwarfWriter::getOrCreateSourceID -Make necessary changes for the above (fix callsites, etc.) llvm-svn: 70520
* Add a mention of TypeBuilder to the programmer's manual, and clean up the classJeffrey Yasskin2009-04-301-6/+6
| | | | | | comment a bit. llvm-svn: 70515
* getCommonSubClass() - Calculate the largest common sub-class of two registerJakob Stoklund Olesen2009-04-301-0/+4
| | | | | | | | | classes. This is implemented as a function rather than a method on TargetRegisterClass because it is symmetric in its arguments. llvm-svn: 70512
* Add some comments, and tidy up some whitespace.Dan Gohman2009-04-301-1/+2
| | | | llvm-svn: 70510
* Extend ScalarEvolution's getBackedgeTakenCount to be able toDan Gohman2009-04-301-4/+44
| | | | | | | | | | | | compute an upper-bound value for the trip count, in addition to the actual trip count. Use this to allow getZeroExtendExpr and getSignExtendExpr to fold casts in more cases. This may eventually morph into a more general value-range analysis capability; there are certainly plenty of places where more complete value-range information would allow more folding. llvm-svn: 70509
* Make dataflow iteration possible on Value*, not only on User*: ↵Torok Edwin2009-04-301-4/+4
| | | | | | df_ext_iterator<Value*, SmallPtrSet<const Value*, 16> > llvm-svn: 70496
* Oops! Missed a file in my last commit.Nick Lewycky2009-04-301-0/+8
| | | | llvm-svn: 70491
* Move helper functions for optimizing division by constant into the APIntJay Foad2009-04-301-0/+25
| | | | | | class. llvm-svn: 70488
* Remove unused flags.Bill Wendling2009-04-301-3/+0
| | | | llvm-svn: 70459
* Remove LTO optimization level.Bill Wendling2009-04-291-2/+1
| | | | llvm-svn: 70445
* Instead of passing in an unsigned value for the optimization level, use an enum,Bill Wendling2009-04-298-44/+64
| | | | | | | which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
* Add support for a character after a command line option. Like '-Os'.Bill Wendling2009-04-291-0/+23
| | | | llvm-svn: 70437
* MachineInstr::isRegTiedTo{Use,Def}Operand can safely be made const.Jakob Stoklund Olesen2009-04-291-2/+2
| | | | llvm-svn: 70408
* Update comment, replace theoretically impossible check with an assert.Nate Begeman2009-04-291-7/+7
| | | | llvm-svn: 70391
* Add directive to declare external globals.Sanjiv Gupta2009-04-291-0/+8
| | | | llvm-svn: 70379
* Implement review feedback for vector shuffle work.Nate Begeman2009-04-293-6/+20
| | | | llvm-svn: 70372
* Add a public method called getAddressSpace() to the GlobalAddressSDNode.Sanjiv Gupta2009-04-291-0/+2
| | | | llvm-svn: 70366
* Add some more doxygen comments to SCEVAddRec.Dan Gohman2009-04-291-1/+4
| | | | llvm-svn: 70354
* The second part of the change from -fast to -O#. This changes the JIT to acceptBill Wendling2009-04-292-4/+4
| | | | | | | an optimization level instead of a simple boolean telling it to generate code "fast" or the other type of "fast". llvm-svn: 70347
* Second attempt:Bill Wendling2009-04-297-39/+43
| | | | | | | | | | | | Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. llvm-svn: 70343
* Correct comment.Bill Wendling2009-04-291-1/+1
| | | | llvm-svn: 70340
* Move getMatchingSuperReg() out of coalescer and into TargetRegisterInfo.Evan Cheng2009-04-281-0/+10
| | | | llvm-svn: 70309
* Initialized arrays can be in any address space.Sanjiv Gupta2009-04-281-1/+1
| | | | llvm-svn: 70297
* Move getSubRegisterRegClass from ScheduleDagSDNodesEmit.cpp to a ↵Jakob Stoklund Olesen2009-04-281-0/+10
| | | | | | | | | | TargetRegisterClass method. Also make the method non-asserting. It will return NULL when given an invalid subreg index. The method is needed by an upcoming patch. llvm-svn: 70296
* r70270 isn't ready yet. Back this out. Sorry for the noise.Bill Wendling2009-04-288-44/+40
| | | | llvm-svn: 70275
* Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want toBill Wendling2009-04-288-40/+44
| | | | | | | | | | | use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... llvm-svn: 70270
* Add tests for WeakVH and AssertingVH. These pointed out that the overloads forJeffrey Yasskin2009-04-271-42/+2
| | | | | | | the comparison operators were not only unnecessary in the presence of the implicit conversion; they caused ambiguous overload errors. So I deleted them. llvm-svn: 70243
* give bitstreamreader an API to ignore names for blocks/records,Chris Lattner2009-04-271-1/+16
| | | | | | only llvm-bcanalyzer wants this info. llvm-svn: 70239
* 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan.Nate Begeman2009-04-274-16/+49
| | | | | | | | | | | | | | PR2957 ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes as the shuffle mask. A value of -1 represents UNDEF. In addition to eliminating the creation of illegal BUILD_VECTORS just to represent shuffle masks, we are better about canonicalizing the shuffle mask, resulting in substantially better code for some classes of shuffles. llvm-svn: 70225
* Add two new record types to the blockinfo block:Chris Lattner2009-04-262-6/+36
| | | | | | | | | BLOCKNAME and SETRECORDNAME. This allows a bitcode file to be self describing with pretty names for records and blocks in addition to numbers. This enhances llvm-bcanalyzer to use this to print prettily. llvm-svn: 70165
* make BitstreamCursor's copyable and assignable.Chris Lattner2009-04-261-2/+38
| | | | llvm-svn: 70159
* Make a major API change to BitstreamReader: split all the readingChris Lattner2009-04-262-110/+141
| | | | | | | | | state out of the BitstreamReader class into a BitstreamCursor class. Doing this allows the client to have multiple cursors into the same file, each with potentially different live block stacks and abbreviation records. llvm-svn: 70157
* I cast, therefore I think I know what I'm doing.Bill Wendling2009-04-261-4/+4
| | | | llvm-svn: 70151
* Use uint64_t instead of unsigned.Bill Wendling2009-04-261-4/+6
| | | | llvm-svn: 70148
* revert an incorrect patch. This causes crashes all over the place on aChris Lattner2009-04-261-6/+4
| | | | | | 64-bit build. llvm-svn: 70147
* Suppress warnings about conversion shortening 64-bit to 32-bit.Bill Wendling2009-04-261-4/+6
| | | | llvm-svn: 70138
OpenPOWER on IntegriCloud