summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix up some comments.Bob Wilson2010-04-091-5/+3
| | | | llvm-svn: 100849
* Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.Dan Gohman2010-04-081-4/+3
| | | | llvm-svn: 100824
* delete a forwarding function.Chris Lattner2010-04-081-89/+87
| | | | llvm-svn: 100815
* move elf section uniquing to MCContext. Along the wayChris Lattner2010-04-082-20/+2
| | | | | | merge XCore's section into MCSectionELF llvm-svn: 100812
* remove the TargetLoweringObjectFileMachO::getMachoSectionChris Lattner2010-04-081-89/+102
| | | | | | api and update clients to use MCContext instead. llvm-svn: 100808
* move macho section uniquing from MCParser and TLOF to MCContext whereChris Lattner2010-04-081-32/+4
| | | | | | | the compiler and asmparser now unique to the same sections. This fixes rdar://7835021. llvm-svn: 100807
* Coalescer should not delete copy instructions whose defs are partially dead. ↵Evan Cheng2010-04-082-1/+14
| | | | | | | | e.g. %RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def> llvm-svn: 100804
* Fix -Wsign-compare warning (issued by clang++).Ted Kremenek2010-04-081-1/+1
| | | | llvm-svn: 100799
* Rename a function.Devang Patel2010-04-082-9/+7
| | | | llvm-svn: 100797
* implicit defs get added to the end of machine instrs sometimes. Scan the ↵Chris Lattner2010-04-081-4/+9
| | | | | | whole instruction for the metadata operand instead of assuming it will be at the end of the instruction. llvm-svn: 100792
* One instruction may start (or end) multiple lexical scopes. Devang Patel2010-04-082-58/+28
| | | | | | There is no need to remember labels identifying regions marked by such instructions in each scope. llvm-svn: 100781
* Remove dead code.Devang Patel2010-04-082-9/+0
| | | | llvm-svn: 100771
* Delete out of date comment.Devang Patel2010-04-081-2/+0
| | | | llvm-svn: 100769
* Refactor.Devang Patel2010-04-082-2/+15
| | | | llvm-svn: 100768
* Use twines to simplify calls to report_fatal_error. For code size and ↵Benjamin Kramer2010-04-084-37/+31
| | | | | | readability. llvm-svn: 100756
* Avoid using f64 to lower memcpy from constant string. It's cheaper to use ↵Evan Cheng2010-04-081-8/+12
| | | | | | i32 store of immediates. llvm-svn: 100751
* Make post regalloc machine licm functional. It now passes all of MultiSource.Evan Cheng2010-04-081-79/+169
| | | | llvm-svn: 100742
* convert a report_fatal_error that I was able to trigger into a nice errorChris Lattner2010-04-081-3/+9
| | | | | | | | | | | | | | so the user at least knows what inline asm is a problem. For example: error: inline asm not supported yet: don't know how to handle tied indirect register inputs pr8788-1.c:14:10: note: generated from here asm ("\n" : "+r" (stack->regs) ^ Instead of: fatal error: error in backend: Don't know how to handle tied indirect register inputs yet! llvm-svn: 100731
* minor tidying.Chris Lattner2010-04-072-5/+4
| | | | llvm-svn: 100725
* use assertions instead of unreachable for logic errors.Chris Lattner2010-04-071-28/+26
| | | | llvm-svn: 100724
* introduce a new recoverable error handling API to LLVMContextChris Lattner2010-04-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | and use it in one place in inline asm handling stuff. Before we'd generate this for an invalid modifier letter: $ clang asm.c -c -o t.o fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}' INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1> Now we generate this: $ clang asm.c -c -o t.o error: invalid operand in inline asm: 'incl ${0:Z}' asm.c:3:12: note: generated from here __asm__ ("incl %Z0" : "+r" (X)); ^ 1 error generated. This is much better but still admittedly not great ("why" is the operand invalid??), codegen should try harder with its diagnostics :) llvm-svn: 100723
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-0714-36/+36
| | | | llvm-svn: 100709
* remove some unneeded errorhandling stuff.Chris Lattner2010-04-071-9/+17
| | | | llvm-svn: 100703
* tidy upChris Lattner2010-04-071-5/+5
| | | | llvm-svn: 100700
* Remove late ARM codegen optimization pass committed by accident.Anton Korobeynikov2010-04-071-2/+0
| | | | | | It is not ready for public yet. llvm-svn: 100673
* Initial support for different kinds of FU reservation.Anton Korobeynikov2010-04-072-12/+44
| | | | llvm-svn: 100645
* Factor out scoreboard into separate class. This way we might have several ↵Anton Korobeynikov2010-04-072-58/+70
| | | | | | different score boards. llvm-svn: 100644
* Add hook to insert late LLVM=>LLVM passes just before iselAnton Korobeynikov2010-04-071-0/+2
| | | | llvm-svn: 100640
* fix 80 col violation, patch by Alastair LynnChris Lattner2010-04-071-1/+2
| | | | llvm-svn: 100639
* add a comment line that got droppedChris Lattner2010-04-071-5/+4
| | | | llvm-svn: 100638
* fix a latent bug my inline asm stuff exposed: Chris Lattner2010-04-071-0/+2
| | | | | | MachineOperand::isIdenticalTo wasn't handling metadata operands. llvm-svn: 100636
* Remove unused method.Benjamin Kramer2010-04-072-19/+0
| | | | llvm-svn: 100620
* Workaround the breakage in r100616 by guarding all timers withTorok Edwin2010-04-073-32/+74
| | | | | | TimePassesIsEnabled. This should allow make check to pass. llvm-svn: 100618
* Use the "NamedGroupTimer" class to categorize DWARF emission better.Bill Wendling2010-04-074-41/+28
| | | | llvm-svn: 100616
* Use raw_ostream.Benjamin Kramer2010-04-071-22/+14
| | | | llvm-svn: 100615
* Add comments for missed opportunities.Evan Cheng2010-04-071-1/+4
| | | | llvm-svn: 100610
* Fix typo.Evan Cheng2010-04-071-1/+1
| | | | llvm-svn: 100609
* Have the inst emitter add the !srcloc mdnode to the machine instr.Chris Lattner2010-04-072-2/+18
| | | | | | | Have the asmprinter use the mdnode to scavenge a source location if present. Document this nonsense in langref. llvm-svn: 100607
* remove another magic number.Chris Lattner2010-04-071-3/+2
| | | | llvm-svn: 100606
* Three changes:Chris Lattner2010-04-076-62/+96
| | | | | | | | | | | | | | | 1. Introduce some enums and accessors in the InlineAsm class that eliminate a ton of magic numbers when handling inline asm SDNode. 2. Add a new MDNodeSDNode selection dag node type that holds a MDNode (shocking!) 3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc metadata, propagating it to the instruction emitter, which drops it. No functionality change. llvm-svn: 100605
* Move printing of target-indepedent DEBUG_VALUE commentsDale Johannesen2010-04-072-4/+69
| | | | | | | into AsmPrinter. Target-dependent form is still generated by FastISel and still handled in X86 code. llvm-svn: 100596
* Post regalloc LICM. Work in progress.Evan Cheng2010-04-072-11/+169
| | | | llvm-svn: 100592
* Do not emit specification DIE with DW_AT_specification attribute for member ↵Devang Patel2010-04-061-2/+17
| | | | | | functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483. llvm-svn: 100586
* Fix a number of clang -Wsign-compare warnings that didn't have an obviousJohn McCall2010-04-062-2/+2
| | | | | | | solution. The only reason these don't fire with gcc-4.2 is that gcc turns off part of -Wsign-compare in C++ on accident. llvm-svn: 100581
* Revert 100573, it's causing some testsuite problems.Dale Johannesen2010-04-061-59/+4
| | | | llvm-svn: 100578
* Move printing of DEBUG_VALUE comments to target-independent place.Dale Johannesen2010-04-061-4/+59
| | | | | | There is probably a more elegant way to do this. llvm-svn: 100573
* Allow for the possibility that a debug-value pointsDale Johannesen2010-04-061-2/+13
| | | | | | to a SDNode that didn't have code generated for it. llvm-svn: 100566
* Reverting 100530 & 100531 due to regressions in the GDB test suite.Stuart Hastings2010-04-062-25/+8
| | | | llvm-svn: 100563
* Code clean up. Move includes from VirtRegRewriter.h to VirtRegRewriter.cpp.Evan Cheng2010-04-062-4/+5
| | | | llvm-svn: 100532
* Revise debug info machinery to digest nested functions and classes.Stuart Hastings2010-04-062-8/+25
| | | | | | | | | | | A certain GDB testsuite case (local.cc) has a function nested inside a class nested inside another function. GCC presents the innermost function to llvm-convert first. Heretofore, the debug info mistakenly placed the inner function at module scope. This patch walks the GCC context links and instantiates the outer class and function so the debug info is properly nested. Radar 7426545. llvm-svn: 100530
OpenPOWER on IntegriCloud