Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | PR3478: raw_ostream should not buffer stderr | Daniel Dunbar | 2009-03-10 | 1 | -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 Criswell | 2009-03-10 | 1 | -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 possible | Torok Edwin | 2009-03-10 | 2 | -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 Gupta | 2009-03-10 | 1 | -41/+61 |
| | | | | llvm-svn: 66540 | ||||
* | If a function is marked alwaysinline, it must be inlined (possibly for ↵ | Evan Cheng | 2009-03-10 | 1 | -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 asm | Chris Lattner | 2009-03-10 | 1 | -1/+20 |
| | | | | | | format strings with the standard ${:foo} syntax. llvm-svn: 66527 | ||||
* | Add more information to the EFLAGS note. | Dan Gohman | 2009-03-10 | 1 | -4/+12 |
| | | | | llvm-svn: 66515 | ||||
* | Add a note about EFLAGS optimization. | Dan Gohman | 2009-03-09 | 1 | -0/+15 |
| | | | | llvm-svn: 66508 | ||||
* | Ignore debug info while evaluating function. | Devang Patel | 2009-03-09 | 1 | -1/+7 |
| | | | | llvm-svn: 66490 | ||||
* | Don't record the increment instruction; just recompute it from the Phi | Dan Gohman | 2009-03-09 | 1 | -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 Lattner | 2009-03-09 | 1 | -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 Patel | 2009-03-09 | 1 | -0/+10 |
| | | | | llvm-svn: 66471 | ||||
* | Fix a few more places where induction variable types were used | Dan Gohman | 2009-03-09 | 1 | -2/+2 |
| | | | | | | where memory access types are needed. llvm-svn: 66470 | ||||
* | Use ReplacedTy instead of recomputing the same value. | Dan Gohman | 2009-03-09 | 1 | -1/+1 |
| | | | | llvm-svn: 66469 | ||||
* | Use LoopInfo's getLoopLatch() instead of doing what it does manualy. | Dan Gohman | 2009-03-09 | 1 | -12/+4 |
| | | | | llvm-svn: 66467 | ||||
* | Don't use an induction variable type as a memory access type. | Dan Gohman | 2009-03-09 | 1 | -3/+5 |
| | | | | | | Use VoidTy instead, to be properly conservative. llvm-svn: 66463 | ||||
* | Factor out the code that determines the memory access type | Dan Gohman | 2009-03-09 | 1 | -18/+29 |
| | | | | | | of an instruction into a helper function. llvm-svn: 66460 | ||||
* | Add helper pass to remove llvm.dbg.declare intrinsics. | Devang Patel | 2009-03-09 | 1 | -0/+62 |
| | | | | llvm-svn: 66454 | ||||
* | Move the sorting of the StrideOrder array earlier so that it doesn't | Dan Gohman | 2009-03-09 | 1 | -4/+3 |
| | | | | | | have to be done twice. llvm-svn: 66449 | ||||
* | Delete the isOnlyStride argument, which is unused. | Dan Gohman | 2009-03-09 | 1 | -9/+4 |
| | | | | llvm-svn: 66446 | ||||
* | Tidy some LSR debug output: announce the loop it's about to process | Dan Gohman | 2009-03-09 | 1 | -6/+6 |
| | | | | | | before it does any processing. llvm-svn: 66443 | ||||
* | ARM target now also recognize triplets like thumbv6-apple-darwin and set ↵ | Evan Cheng | 2009-03-09 | 2 | -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 Lattner | 2009-03-09 | 1 | -3/+4 |
| | | | | llvm-svn: 66434 | ||||
* | ARM isLegalAddressImmediate should check if type is a simple type now that ↵ | Evan Cheng | 2009-03-09 | 1 | -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 Cheng | 2009-03-09 | 1 | -19/+10 |
| | | | | | | the same instruction as kill. This fixes PR3706. llvm-svn: 66428 | ||||
* | This debug info special case should no longer | Duncan Sands | 2009-03-09 | 1 | -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 it | Chris Lattner | 2009-03-09 | 1 | -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 deciding | Chris Lattner | 2009-03-09 | 1 | -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 Lattner | 2009-03-09 | 1 | -7/+7 |
| | | | | llvm-svn: 66403 | ||||
* | Ignore debug intrinsics when computing dependences. | Owen Anderson | 2009-03-09 | 1 | -0/+6 |
| | | | | llvm-svn: 66399 | ||||
* | reimplement AliasSetTracker in terms of DenseMap instead of hash_map, | Chris Lattner | 2009-03-09 | 2 | -43/+59 |
| | | | | | | hopefully no functionality change. llvm-svn: 66398 | ||||
* | Pass in a std::string when getting the names of debugging things. This cuts down | Bill Wendling | 2009-03-09 | 7 | -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 Lattner | 2009-03-09 | 1 | -2/+4 |
| | | | | llvm-svn: 66395 | ||||
* | Fix two classes of bugs. First: | Chris Lattner | 2009-03-09 | 2 | -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 pointer | Chris Lattner | 2009-03-09 | 1 | -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 Lattner | 2009-03-08 | 2 | -6/+7 |
| | | | | | | windows side. llvm-svn: 66386 | ||||
* | Keep calling-convention and tail-call bit when creating new invoke or call. | Nick Lewycky | 2009-03-08 | 1 | -10/+13 |
| | | | | llvm-svn: 66384 | ||||
* | do not export all the X86FastISel symbols, ever. | Chris Lattner | 2009-03-08 | 1 | -1/+4 |
| | | | | llvm-svn: 66382 | ||||
* | Fix comments, pointed out by Duncan Sands. | Nick Lewycky | 2009-03-08 | 1 | -3/+3 |
| | | | | llvm-svn: 66381 | ||||
* | Apply ODR linkage changes accidentally dropped during | Duncan Sands | 2009-03-08 | 1 | -9/+9 |
| | | | | | | final cleaning. This fixes a bunch of testsuite failures. llvm-svn: 66380 | ||||
* | Test commit | Sebastian Redl | 2009-03-08 | 1 | -1/+0 |
| | | | | llvm-svn: 66378 | ||||
* | Mark function returns as noalias. | Nick Lewycky | 2009-03-08 | 1 | -0/+127 |
| | | | | llvm-svn: 66369 | ||||
* | teach SROA to handle promoting vector allocas with a memset into them into | Chris Lattner | 2009-03-08 | 1 | -17/+19 |
| | | | | | | a vector type instead of into an integer type. llvm-svn: 66368 | ||||
* | fix typo | Chris Lattner | 2009-03-08 | 1 | -1/+1 |
| | | | | llvm-svn: 66367 | ||||
* | Enhance SROA to "promote to scalar" allocas which are | Chris Lattner | 2009-03-08 | 1 | -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 Cheng | 2009-03-08 | 1 | -1/+17 |
| | | | | | | version accordingly. llvm-svn: 66365 | ||||
* | change the MemIntrinsic get/setAlignment method to take an unsigned | Chris Lattner | 2009-03-08 | 3 | -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 Cheng | 2009-03-08 | 1 | -6/+22 |
| | | | | llvm-svn: 66363 | ||||
* | use MemTransferInst. | Chris Lattner | 2009-03-08 | 1 | -1/+1 |
| | | | | llvm-svn: 66362 | ||||
* | Introduce a new MemTransferInst pseudo class, which is a common | Chris Lattner | 2009-03-08 | 2 | -26/+20 |
| | | | | | | | parent between MemCpyInst and MemMoveInst, simplify some code to use it. llvm-svn: 66361 |