summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Rearrange code for selecting vld2 intrinsics. No functionality change.Bob Wilson2009-10-071-9/+14
| | | | | | This is just to be more consistent with the forthcoming code for vld3/4. llvm-svn: 83470
* Add register-reuse to frame-index register scavenging. When a target usesJim Grosbach2009-10-0729-97/+252
| | | | | | | | | | | | | | | | | | | | a virtual register to eliminate a frame index, it can return that register and the constant stored there to PEI to track. When scavenging to allocate for those registers, PEI then tracks the last-used register and value, and if it is still available and matches the value for the next index, reuses the existing value rather and removes the re-materialization instructions. Fancier tracking and adjustment of scavenger allocations to keep more values live for longer is possible, but not yet implemented and would likely be better done via a different, less special-purpose, approach to the problem. eliminateFrameIndex() is modified so the target implementations can return the registers they wish to be tracked for reuse. ARM Thumb1 implements and utilizes the new mechanism. All other targets are simply modified to adjust for the changed eliminateFrameIndex() prototype. llvm-svn: 83467
* Do not assume that the module is set.Devang Patel2009-10-071-15/+18
| | | | llvm-svn: 83462
* Add PR to this FIXME, looks like I didn't commit this change after all.Torok Edwin2009-10-071-1/+2
| | | | llvm-svn: 83457
* Make getPointerTo return a const PointerType* rather thanDuncan Sands2009-10-071-1/+1
| | | | | | an unqualified PointerType* because it seems more correct. llvm-svn: 83454
* Add FreeInst to the "is a call" check for Insts that are calls, butEric Christopher2009-10-071-2/+2
| | | | | | not intrinsics. llvm-svn: 83441
* Fix this comment. The loop header is the loop entry point.Dan Gohman2009-10-071-2/+2
| | | | llvm-svn: 83437
* Add PseudoSourceValues for constpool stuff on ELF (Darwin should use ↵Anton Korobeynikov2009-10-072-12/+34
| | | | | | | | something similar) and register spills. llvm-svn: 83435
* While we still have a MallocInst treat it as a call like any otherEric Christopher2009-10-071-0/+4
| | | | | | | | | for inlining. When MallocInst goes away this code will be subsumed as part of calls and work just fine... llvm-svn: 83434
* Added bits of the ARM target assembler to llvm-mc to parse some load instructionKevin Enderby2009-10-061-1/+404
| | | | | | | operands. Some parsing of arm memory operands for preindexing and postindexing forms including with register controled shifts. This is a work in progress. llvm-svn: 83424
* Add codegen support for NEON vld2 operations on quad registers.Bob Wilson2009-10-064-1/+62
| | | | llvm-svn: 83422
* Use copyRegToReg hook to copy registers.Bob Wilson2009-10-061-6/+4
| | | | llvm-svn: 83421
* r83391 was completely broken since Twines keep references to their inputs, andJeffrey Yasskin2009-10-061-4/+9
| | | | | | | some of the inputs were temporaries. Here's a real fix for the miscompilation. Thanks to sabre for pointing out the problem. llvm-svn: 83417
* Fix a comment typo.Bob Wilson2009-10-061-1/+1
| | | | | | Patch by Johnny Chen. llvm-svn: 83407
* Bugfix for the CommaSeparated option. The original code was adding the wholeNicolas Geoffray2009-10-061-0/+1
| | | | | | string at the end of the list, instead of the last comma-separated string. llvm-svn: 83405
* Update CMake file.Ted Kremenek2009-10-061-1/+0
| | | | llvm-svn: 83404
* Add support to handle debug info attached to an instruction.Devang Patel2009-10-064-6/+25
| | | | | | This is not yet enabled. llvm-svn: 83400
* Instead of printing unnecessary basic block labels as labels inDan Gohman2009-10-0613-39/+14
| | | | | | | | | | verbose-asm mode, print comments instead. This eliminates a non-comment difference between verbose-asm mode and non-verbose-asm mode. Also, factor out the relevant code out of all the targets and into target-independent code. llvm-svn: 83392
* Fix PR5112, a miscompilation on gcc-4.0.3. Patch by Collin Winter!Jeffrey Yasskin2009-10-061-1/+4
| | | | llvm-svn: 83391
* remove predicate simplifier, it never got the last bugs beatenChris Lattner2009-10-061-2704/+0
| | | | | | | out of it, and jump threading, condprop and gvn are now getting most of the benefit. This was approved by Nicholas and Nicolas. llvm-svn: 83390
* Remove xs1b predicate since it is no longer needed to differentiate betweemRichard Osborne2009-10-064-33/+5
| | | | | | xs1a and xs1b. llvm-svn: 83383
* Remove xs1a subtarget. xs1a is a preproduction device used inRichard Osborne2009-10-067-98/+45
| | | | | | | early development boards which is no longer supported in the XMOS toolchain. llvm-svn: 83381
* Default to the xs1b subtargetRichard Osborne2009-10-061-1/+1
| | | | llvm-svn: 83380
* Introduce and use convenience methods for getting pointer typesDuncan Sands2009-10-0621-58/+98
| | | | | | | where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy. llvm-svn: 83379
* grammarJim Grosbach2009-10-061-1/+1
| | | | llvm-svn: 83378
* Fix cut-n-pasto.Devang Patel2009-10-061-1/+1
| | | | llvm-svn: 83367
* Update processDebugLoc() to handle requests to process debug info, before ↵Devang Patel2009-10-061-9/+11
| | | | | | and after emitting instructions. llvm-svn: 83364
* Update processDebugLoc() so that it can be used to process debug info before ↵Devang Patel2009-10-0617-28/+47
| | | | | | and after printing an instruction. llvm-svn: 83363
* Remove dead code.Devang Patel2009-10-062-23/+0
| | | | llvm-svn: 83362
* Add utility routine to set begin and end labels for DbgScopes.Devang Patel2009-10-062-0/+31
| | | | | | This will be used by processDebugLoc(). llvm-svn: 83361
* Remove unintentional function decl.Devang Patel2009-10-061-1/+0
| | | | llvm-svn: 83356
* Add utility routine to collect variable debug info. This is not yet used.Devang Patel2009-10-062-0/+17
| | | | llvm-svn: 83355
* Fix http://llvm.org/PR5116 by rolling back r60822. This passes `make unittestsJeffrey Yasskin2009-10-061-1/+1
| | | | | | check-lit` on both x86-64 Linux and x86-32 Darwin. llvm-svn: 83353
* Set default location for the function if it is not already set.Devang Patel2009-10-061-0/+2
| | | | | | This code is not yet enabled. llvm-svn: 83349
* Existence of a compile unit for input source file is a good indicator to ↵Devang Patel2009-10-061-10/+1
| | | | | | check debug info's presence in a module. llvm-svn: 83348
* If subprogram die is not available then construct new one.Devang Patel2009-10-051-0/+4
| | | | | | This can happen if debug info is processed lazily. llvm-svn: 83347
* Adjust context for the global variables that are not at file scope, e.g.Devang Patel2009-10-052-2/+22
| | | | | | | void foo() { static int bar = 42; } Here, foo's DIE is parent of bar's DIE. llvm-svn: 83344
* Set address while constructing DIE.Devang Patel2009-10-051-7/+8
| | | | llvm-svn: 83343
* Extend ConstantFolding to understand signed overflow variantsEvan Phoenix2009-10-051-0/+24
| | | | llvm-svn: 83338
* In Thumb1, the register scavenger is not always able to use an emergencyJim Grosbach2009-10-054-12/+51
| | | | | | | | spill slot. When frame references are via the frame pointer, they will be negative, but Thumb1 load/store instructions only allow positive immediate offsets. Instead, Thumb1 will spill to R12. llvm-svn: 83336
* Don't treat malloc calls with non-matching prototype as malloc.Torok Edwin2009-10-051-2/+13
| | | | | | | Fixes second part of PR5130, miscompilation in FreeBSD kernel, where malloc takes 3 params, and *does* initialize memory. llvm-svn: 83324
* No newline at end of files.Edward O'Callaghan2009-10-052-2/+2
| | | | llvm-svn: 83318
* Gracefully handle various scopes while recording source line info.Devang Patel2009-10-051-4/+21
| | | | llvm-svn: 83317
* Remove an unnnecessary LLVMContext argument inDan Gohman2009-10-055-13/+8
| | | | | | ConstantFoldLoadThroughGEPConstantExpr. llvm-svn: 83311
* Use Use::operator= instead of Use::set, for consistency.Dan Gohman2009-10-051-2/+2
| | | | llvm-svn: 83310
* Remove explicit enum integer values. They don't appear to be needed, andDan Gohman2009-10-052-22/+22
| | | | | | they make it less convenient to add new entries. llvm-svn: 83308
* Add RIP to GR64_NOREX. This fixed a MachineVerifier error when RIPDan Gohman2009-10-051-5/+5
| | | | | | is used in an operand which requires GR64_NOREX. llvm-svn: 83307
* strength reduce a ton of type equality tests to check the typeid (ThroughChris Lattner2009-10-0517-119/+121
| | | | | | | | the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. llvm-svn: 83297
* teach the optimizer how to constant fold uadd/usub intrinsics.Chris Lattner2009-10-051-1/+29
| | | | llvm-svn: 83295
* simplify this code a bunch.Chris Lattner2009-10-051-14/+14
| | | | llvm-svn: 83294
OpenPOWER on IntegriCloud