summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Minor fixes to avoid using invalid debugloc.Sanjiv Gupta2009-08-071-5/+9
| | | | llvm-svn: 78383
* Simplify code and avoid allocations.Benjamin Kramer2009-08-071-10/+3
| | | | llvm-svn: 78382
* Improve disabling of X86 AsmMatcher.Daniel Dunbar2009-08-071-0/+1
| | | | llvm-svn: 78381
* Disable X86 AsmMatcher for now, it is causing gcc-4.0 to run out of memory onDaniel Dunbar2009-08-073-0/+25
| | | | | | | i386-apple-darwin9. This presumably will get fixed once the generated code improves. llvm-svn: 78379
* llvm-mc/AsmMatcher: Move to a slightly more sane matching design.Daniel Dunbar2009-08-073-336/+552
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Still not very sane, but a least its not 60k lines on X86. :) - In terms of correctness, currently some things are hard wired for X86, and we still don't properly resolve ambiguities (this is ignoring the instructions we don't even match due to funny .td stuff or other corner cases). The high level changes: 1. Represent tokens which are significant for matching explicitly as separate operands. This uniformly handles not only the instruction mnemonic, but also 'signficiant' syntax like the '*' in "call * ...". 2. Separate the matching of operands to an instruction from the construction of the MCInst. In theory this can be done during matching, but since the number of variations is small I think it makes sense to decompose the problems. 3. Improved a few of the mechanisms to at least successfully flatten / tokenize the assembly strings for PowerPC and ARM. 4. The comment at the top of AsmMatcherEmitter.cpp explains the approach I'm moving towards for handling ambiguous instructions. The high-bit is to infer a partial ordering of the operand classes (and force the user to specify one if we can't) and use that to resolve ambiguities. llvm-svn: 78378
* Error out, rather than infinite looping, if constant island pass can't converge.Evan Cheng2009-08-071-4/+12
| | | | llvm-svn: 78377
* Another coalescer bug. When a dead copy is eliminated, transfer the kill to ↵Evan Cheng2009-08-072-5/+22
| | | | | | a def of the exact register rather than a super-register. llvm-svn: 78376
* tBfar is bl, which clobbers LR.Evan Cheng2009-08-072-1/+3
| | | | llvm-svn: 78370
* Run memsel inserter just before emit assembly to avoid tinkering by other ↵Sanjiv Gupta2009-08-072-2/+2
| | | | | | passes. llvm-svn: 78369
* Update CMake.Daniel Dunbar2009-08-071-1/+0
| | | | llvm-svn: 78367
* Remove unused function.Daniel Dunbar2009-08-071-7/+0
| | | | llvm-svn: 78366
* These should be expandedAndrew Lenharth2009-08-071-0/+3
| | | | llvm-svn: 78365
* Use std::string() instead of std::string("").Dan Gohman2009-08-071-1/+1
| | | | llvm-svn: 78364
* Fix a bunch of namespace pollution.Dan Gohman2009-08-0712-22/+44
| | | | llvm-svn: 78363
* Fix a typo in a comment.Dan Gohman2009-08-071-1/+1
| | | | llvm-svn: 78362
* It turns out most of the thumb2 instructions are not allowed to touch SP. ↵Evan Cheng2009-08-0712-73/+373
| | | | | | | | | | The semantics of such instructions are unpredictable. We have just been lucky that tests have been passing. This patch takes pain to ensure all the PEI lowering code does the right thing when lowering frame indices, insert code to manipulate stack pointers, etc. It's also custom lowering dynamic stack alloc into pseudo instructions so we can insert the right instructions at scheduling time. This fixes PR4659 and PR4682. llvm-svn: 78361
* Code clean up.Evan Cheng2009-08-071-4/+5
| | | | llvm-svn: 78360
* Added legal stuff, fixed some formatting issues. Removed the graph generator ↵Lang Hames2009-08-0710-254/+142
| | | | | | stuff as it was only meant for debugging the solver. llvm-svn: 78359
* Add the testcase from PR 4668. This works at theDale Johannesen2009-08-071-0/+26
| | | | | | moment, but it's a fragile area. llvm-svn: 78358
* New C++ PBQP solver. Currently about as fast (read _slow_) as the old C ↵Lang Hames2009-08-0613-1785/+2850
| | | | | | based solver, but I'll be working to improve that. The PBQP allocator has been updated to use the new solver. llvm-svn: 78354
* Fix PR 4626, a crash in branch folding after OptimizeBlockDale Johannesen2009-08-062-1/+107
| | | | | | produced a CFG it wasn't prepared for. llvm-svn: 78351
* Use stripPointerCasts instead of partially rewriting it.Dale Johannesen2009-08-061-4/+2
| | | | llvm-svn: 78350
* Vanity.Jakob Stoklund Olesen2009-08-061-0/+5
| | | | llvm-svn: 78345
* Output the new StructType constructor, which takes the context of theNicolas Geoffray2009-08-061-0/+1
| | | | | | module as first argument. llvm-svn: 78340
* Get rid of RegScavenger::backwards() before the bitrot spreads.Jakob Stoklund Olesen2009-08-062-72/+3
| | | | | | If we need it one day, there is nothing wrong with putting it back in. llvm-svn: 78337
* Remove dead code.Devang Patel2009-08-062-37/+1
| | | | llvm-svn: 78335
* Use DebugInfoFinderDevang Patel2009-08-061-15/+9
| | | | llvm-svn: 78334
* Use DebugInfoFinder.Devang Patel2009-08-061-10/+9
| | | | llvm-svn: 78333
* Implement Neon VST[234] operations.Bob Wilson2009-08-068-31/+290
| | | | llvm-svn: 78330
* Fix incorrect intrinsic declarations.Bob Wilson2009-08-062-20/+20
| | | | llvm-svn: 78329
* Testcase for llvm-gcc 78324 (although in normalDale Johannesen2009-08-061-0/+9
| | | | | | testing mode it won't test much). llvm-svn: 78325
* Tidy up this testcase.Dan Gohman2009-08-061-49/+1
| | | | llvm-svn: 78322
* Add parameter to pattern classes to enable an itinerary to be specified for ↵David Goodwin2009-08-066-819/+926
| | | | | | instructions. For now just use the existing itineraries or NoItinerary. llvm-svn: 78321
* Fix several fixmes and clean up code by sinking *all* sectionChris Lattner2009-08-064-54/+71
| | | | | | | | | | | | | | | | | creation activity into the target-specific subclasses of TLOF. Before this, globals with explicit sections could be created by the base class. 1. make getOrCreateSection protected, add a new getExplicitSectionGlobal pure virtual method to assign sections to globals with a specified section. 2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific. 3. eliminate the getKindForNamedSection virtual method, which is now just a static method for ELF. 4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16. They are now all detangled and understandable, woo! :) llvm-svn: 78319
* Reg Scavenging generalization (Thumb support):John Mosby2009-08-062-27/+56
| | | | | | | - start support for new PEI w/reg alloc, allow running RS from emit{Pro,Epi}logue() target hooks. - fix minor issue with recursion detection. llvm-svn: 78318
* go through PIC16TargetObjectFile to make sections instead of Chris Lattner2009-08-064-12/+26
| | | | | | creating them directly in the pic16 asmprinter. llvm-svn: 78317
* reduce testcase.Chris Lattner2009-08-061-39/+4
| | | | llvm-svn: 78315
* Fix comment.Devang Patel2009-08-061-2/+1
| | | | llvm-svn: 78313
* Add assertion checks after the calls to LowerFormalArguments, LowerCall,Dan Gohman2009-08-061-1/+34
| | | | | | | and LowerReturn, to verify that the targets' hooks have respected some of their postconditions. llvm-svn: 78312
* Remove an over-aggressive assert. Functions with empty struct returnDan Gohman2009-08-062-3/+50
| | | | | | | types don't have any return values, from CodeGen's perspective. This fixes PR4688. llvm-svn: 78311
* Add note about msys perl needed for windows/mingw32 builds.Anton Korobeynikov2009-08-061-1/+7
| | | | | | Patch by John Thompson! llvm-svn: 78304
* Add tests for X86-64 code model handling. Small and kernel for now.Anton Korobeynikov2009-08-061-0/+67
| | | | llvm-svn: 78300
* We need to sext global addresses in kernel code model, not zextAnton Korobeynikov2009-08-062-11/+24
| | | | llvm-svn: 78299
* Fix a bug in x86's PreprocessForRMW logic that was exposedDan Gohman2009-08-062-3/+25
| | | | | | | | by aggressive chain operand optimization. UpdateNodeOperands does not modify the node in place if it would result in a node identical to an existing node. llvm-svn: 78297
* Fix a few places in DAGCombiner that were creating all-ones-bitsDan Gohman2009-08-062-5/+29
| | | | | | | | and high-bits values in ways that weren't correct for integer types wider than 64 bits. This fixes a miscompile in PPMacroExpansion.cpp in clang on x86-64. llvm-svn: 78295
* Missed part of recent kernel codemodel tweaksAnton Korobeynikov2009-08-061-2/+4
| | | | llvm-svn: 78293
* add a testcase for my llvm-gcc hack.Chris Lattner2009-08-061-0/+12
| | | | llvm-svn: 78289
* Don't search the entire type table just to delete a type by name.Daniel Dunbar2009-08-063-7/+26
| | | | | | - This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml. llvm-svn: 78287
* llvm-ld has a new option called -b to specify the name of bitcode output ↵Sanjiv Gupta2009-08-061-1/+1
| | | | | | file, use that. llvm-svn: 78282
* this passes.Chris Lattner2009-08-061-1/+0
| | | | llvm-svn: 78281
OpenPOWER on IntegriCloud