summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* PR3478: raw_ostream should not buffer stderrDaniel Dunbar2009-03-101-1/+5
| | | | | | | - Add unbuffered flag to raw_ostream, forwarded by raw_fd_ostream and used by raw_stderr_ostream. llvm-svn: 66545
* Do not attempt to do parial redundancy elimination on void values.John Criswell2009-03-101-3/+4
| | | | | | | Also fixed a punctuation error in the header comment. This fixes PR3775. llvm-svn: 66542
* Global variables don't have a corresponding llvm.dbg.declare, yet it is possibleTorok Edwin2009-03-102-6/+75
| | | | | | | | to obtain debug info about them. Introduce helpers to access debug info for global variables. Also introduce a helper that works for both local and global variables. llvm-svn: 66541
* Mark the Defs and Uses of STATUS register correctly, plus some reformatting.Sanjiv Gupta2009-03-101-41/+61
| | | | llvm-svn: 66540
* If a function is marked alwaysinline, it must be inlined (possibly for ↵Evan Cheng2009-03-101-7/+7
| | | | | | correctness). Do so even if the callee has dynamic alloca and the caller doesn't. llvm-svn: 66539
* wire up support for emitting "special" values from inline asmChris Lattner2009-03-101-1/+20
| | | | | | format strings with the standard ${:foo} syntax. llvm-svn: 66527
* Add more information to the EFLAGS note.Dan Gohman2009-03-101-4/+12
| | | | llvm-svn: 66515
* Add a note about EFLAGS optimization.Dan Gohman2009-03-091-0/+15
| | | | llvm-svn: 66508
* Ignore debug info while evaluating function.Devang Patel2009-03-091-1/+7
| | | | llvm-svn: 66490
* Don't record the increment instruction; just recompute it from the PhiDan Gohman2009-03-091-33/+15
| | | | | | | if needed. This simplifies the code a little, and is needed for an upcoming refactoring. llvm-svn: 66479
* Fix PR3724 by searching for the largest free block when Chris Lattner2009-03-091-2/+19
| | | | | | | | | allocating memory in the JIT. This is insanely inefficient, but hey, most people implement their own memory managers anyway. Patch by Eric Yew! llvm-svn: 66472
* Remove llvm.dbg.global_variables also.Devang Patel2009-03-091-0/+10
| | | | llvm-svn: 66471
* Fix a few more places where induction variable types were usedDan Gohman2009-03-091-2/+2
| | | | | | where memory access types are needed. llvm-svn: 66470
* Use ReplacedTy instead of recomputing the same value.Dan Gohman2009-03-091-1/+1
| | | | llvm-svn: 66469
* Use LoopInfo's getLoopLatch() instead of doing what it does manualy.Dan Gohman2009-03-091-12/+4
| | | | llvm-svn: 66467
* Don't use an induction variable type as a memory access type.Dan Gohman2009-03-091-3/+5
| | | | | | Use VoidTy instead, to be properly conservative. llvm-svn: 66463
* Factor out the code that determines the memory access typeDan Gohman2009-03-091-18/+29
| | | | | | of an instruction into a helper function. llvm-svn: 66460
* Add helper pass to remove llvm.dbg.declare intrinsics.Devang Patel2009-03-091-0/+62
| | | | llvm-svn: 66454
* Move the sorting of the StrideOrder array earlier so that it doesn'tDan Gohman2009-03-091-4/+3
| | | | | | have to be done twice. llvm-svn: 66449
* Delete the isOnlyStride argument, which is unused.Dan Gohman2009-03-091-9/+4
| | | | llvm-svn: 66446
* Tidy some LSR debug output: announce the loop it's about to processDan Gohman2009-03-091-6/+6
| | | | | | before it does any processing. llvm-svn: 66443
* ARM target now also recognize triplets like thumbv6-apple-darwin and set ↵Evan Cheng2009-03-092-14/+24
| | | | | | thumb mode and arch subversion. Eventually thumb triplets will go way and replaced with function notes. llvm-svn: 66435
* Fix PR3763 by using proper APInt methods instead of uint64_t's.Chris Lattner2009-03-091-3/+4
| | | | llvm-svn: 66434
* ARM isLegalAddressImmediate should check if type is a simple type now that ↵Evan Cheng2009-03-091-0/+3
| | | | | | optimizer can create values of funky scalar types. llvm-svn: 66429
* Yet another case where the spiller marked two uses of the same register on ↵Evan Cheng2009-03-091-19/+10
| | | | | | the same instruction as kill. This fixes PR3706. llvm-svn: 66428
* This debug info special case should no longerDuncan Sands2009-03-091-4/+0
| | | | | | | be needed now that these intrinsics are marked as not accessing memory. llvm-svn: 66420
* just remove the use_empty() check entirely, the only reason itChris Lattner2009-03-091-14/+8
| | | | | | | existed was for llvm-gcc 3.4 (which used the __main hack) which is really really long dead. llvm-svn: 66417
* Make the code generator rip of dead constant expr uses before decidingChris Lattner2009-03-091-10/+16
| | | | | | | | whether a global is dead or not. This should fix PR3749 - linker adds spurious use to appending globals. I can't reasonably add a testcase for this, because the bc writer/reader strip dead constant users. llvm-svn: 66404
* make GlobalValue::removeDeadConstantUsers() const.Chris Lattner2009-03-091-7/+7
| | | | llvm-svn: 66403
* Ignore debug intrinsics when computing dependences.Owen Anderson2009-03-091-0/+6
| | | | llvm-svn: 66399
* reimplement AliasSetTracker in terms of DenseMap instead of hash_map,Chris Lattner2009-03-092-43/+59
| | | | | | hopefully no functionality change. llvm-svn: 66398
* Pass in a std::string when getting the names of debugging things. This cuts downBill Wendling2009-03-097-53/+101
| | | | | | on the number of times a std::string is created and copied. llvm-svn: 66396
* fix Analysis/BasicAA/2004-12-08-BasicAACrash.ll by allowing opaque types.Chris Lattner2009-03-091-2/+4
| | | | llvm-svn: 66395
* Fix two classes of bugs. First:Chris Lattner2009-03-092-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | validate an invariant so that the asmparser rejects a bad construct instead of the verifier. Before: llvm-as: assembly parsed, but does not verify as correct! Invalid struct return type! i64 (%struct.Type*, %struct.Type*)* @foo after: llvm-as: t.ll:5:8: functions with 'sret' argument must return void define i64 @foo(%struct.Type* noalias nocapture sret %agg.result, %struct.Type* nocapture byval %t) nounwind { ^ Second, check that void is only used where allowed (in function return types) not in arbitrary places, fixing PR3747 - Crash in llvm-as with void field in struct. We now reject that example with: $ llvm-as t.ll llvm-as: t.ll:1:12: struct element can not have void type %x = type {void} ^ llvm-svn: 66394
* Fix PR3746 - Crash in isel with GEP of function pointerChris Lattner2009-03-091-13/+17
| | | | | | | | | | | by checking that the top-level type of a gep is sized. This causes us to reject the example with: llvm-as: t2.ll:2:16: invalid getelementptr indices getelementptr i32()* null, i32 1 ^ llvm-svn: 66393
* add some explicit llvm:: qualifiers to the unix side, fix problems on the ↵Chris Lattner2009-03-082-6/+7
| | | | | | windows side. llvm-svn: 66386
* Keep calling-convention and tail-call bit when creating new invoke or call.Nick Lewycky2009-03-081-10/+13
| | | | llvm-svn: 66384
* do not export all the X86FastISel symbols, ever.Chris Lattner2009-03-081-1/+4
| | | | llvm-svn: 66382
* Fix comments, pointed out by Duncan Sands.Nick Lewycky2009-03-081-3/+3
| | | | llvm-svn: 66381
* Apply ODR linkage changes accidentally dropped duringDuncan Sands2009-03-081-9/+9
| | | | | | final cleaning. This fixes a bunch of testsuite failures. llvm-svn: 66380
* Test commitSebastian Redl2009-03-081-1/+0
| | | | llvm-svn: 66378
* Mark function returns as noalias.Nick Lewycky2009-03-081-0/+127
| | | | llvm-svn: 66369
* teach SROA to handle promoting vector allocas with a memset into them intoChris Lattner2009-03-081-17/+19
| | | | | | a vector type instead of into an integer type. llvm-svn: 66368
* fix typoChris Lattner2009-03-081-1/+1
| | | | llvm-svn: 66367
* Enhance SROA to "promote to scalar" allocas which are Chris Lattner2009-03-081-0/+48
| | | | | | | memcpy/memmove'd into or out of. This fixes a serious perf issue that Nate ran into. llvm-svn: 66366
* Recognize triplets starting with armv5-, armv6- etc. And set the ARM arch ↵Evan Cheng2009-03-081-1/+17
| | | | | | version accordingly. llvm-svn: 66365
* change the MemIntrinsic get/setAlignment method to take an unsignedChris Lattner2009-03-083-14/+12
| | | | | | instead of a Constant*, which is what the clients of it really want. llvm-svn: 66364
* If a MI uses the same register more than once, only mark one of them as 'kill'.Evan Cheng2009-03-081-6/+22
| | | | llvm-svn: 66363
* use MemTransferInst.Chris Lattner2009-03-081-1/+1
| | | | llvm-svn: 66362
* Introduce a new MemTransferInst pseudo class, which is a commonChris Lattner2009-03-082-26/+20
| | | | | | | parent between MemCpyInst and MemMoveInst, simplify some code to use it. llvm-svn: 66361
OpenPOWER on IntegriCloud