summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Accommodate empty string for build type. This was previously causing an errorTed Kremenek2009-04-081-1/+1
| | | | | | | when generating an Xcode project using the CMake files (thanks to Doug Gregor for identifying the issue). llvm-svn: 68618
* Use 8 instead of CHAR_BITDouglas Gregor2009-04-081-1/+1
| | | | llvm-svn: 68616
* Soft float support for FREM.Duncan Sands2009-04-083-0/+23
| | | | llvm-svn: 68614
* * Fixed calls to APInt ctor to work for negative values on Darwin/x86Misha Brukman2009-04-081-6/+6
| | | | | | * Converted C-style casts to C++-style casts llvm-svn: 68613
* Add BitstreamWriter::GetCurrentBitNo, to report where we are in the output ↵Douglas Gregor2009-04-081-0/+3
| | | | | | bitstream llvm-svn: 68610
* Soft float support for undef. Reported by Xerxes Rånby.Duncan Sands2009-04-083-0/+17
| | | | llvm-svn: 68607
* Avoid a hard coded constant.Rafael Espindola2009-04-081-1/+1
| | | | llvm-svn: 68603
* Emit .line debug directives for stoppoints. The debug location is retrieved ↵Sanjiv Gupta2009-04-085-24/+19
| | | | | | by the MachineInstr itself, rather than by custom handling the DBG_STOPPOINT nodes. llvm-svn: 68602
* Instcombine should not promote whole computation trees to "strange"Chris Lattner2009-04-082-0/+33
| | | | | | | | | | | | | integer types, unless they are already strange. This prevents it from turning the code produced by SROA into crazy libcalls and stuff that the code generator can't handle. In the attached example, the result was an i96 multiply that caused the x86 backend to assert. Note that if TargetData had an idea of what the legal types are for a target that this could be used to stop instcombine from introducing i64 muls, as Scott wanted. llvm-svn: 68598
* Handle indirect function calls.Sanjiv Gupta2009-04-085-89/+346
| | | | | | | Every function has the address of its frame in the beginning of code section. The frame address is retrieved and used to pass arguments. llvm-svn: 68597
* disable this code for now, re-breaking PR2975, but fixingChris Lattner2009-04-081-3/+3
| | | | | | a testcase I'm about to attach to that pr. llvm-svn: 68592
* Remove AllowInverse: it leaks memory and is not the rightChris Lattner2009-04-083-42/+2
| | | | | | abstraction for CommandLine. llvm-svn: 68588
* Fully escape the grep string for this test.Dan Gohman2009-04-081-2/+2
| | | | llvm-svn: 68580
* Update this test for recent codegen improvements. CodeGen is nowDan Gohman2009-04-081-2/+2
| | | | | | using an lea in place of a mov and an add for this test. llvm-svn: 68579
* change printStringChar to emit characters as unsigned char instead of char,Chris Lattner2009-04-081-9/+5
| | | | | | | | | | | avoiding sign extension for the top octet. For "negative" chars, we'd print stuff like: .asciz "\702... now we print: .asciz "\302... llvm-svn: 68577
* Implement support for using modeling implicit-zero-extension on x86-64Dan Gohman2009-04-0819-107/+502
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with SUBREG_TO_REG, teach SimpleRegisterCoalescing to coalesce SUBREG_TO_REG instructions (which are similar to INSERT_SUBREG instructions), and teach the DAGCombiner to take advantage of this on targets which support it. This eliminates many redundant zero-extension operations on x86-64. This adds a new TargetLowering hook, isZExtFree. It's similar to isTruncateFree, except it only applies to actual definitions, and not no-op truncates which may not zero the high bits. Also, this adds a new optimization to SimplifyDemandedBits: transform operations like x+y into (zext (add (trunc x), (trunc y))) on targets where all the casts are no-ops. In contexts where the high part of the add is explicitly masked off, this allows the mask operation to be eliminated. Fix the DAGCombiner to avoid undoing these transformations to eliminate casts on targets where the casts are no-ops. Also, this adds a new two-address lowering heuristic. Since two-address lowering runs before coalescing, it helps to be able to look through copies when deciding whether commuting and/or three-address conversion are profitable. Also, fix a bug in LiveInterval::MergeInClobberRanges. It didn't handle the case that a clobber range extended both before and beyond an existing live range. In that case, multiple live ranges need to be added. This was exposed by the new subreg coalescing code. Remove 2008-05-06-SpillerBug.ll. It was bugpoint-reduced, and the spiller behavior it was looking for no longer occurrs with the new instruction selection. llvm-svn: 68576
* Revert prev. patch for now.Devang Patel2009-04-071-4/+6
| | | | llvm-svn: 68569
* Temporarily revert r68552. This was causing a failure in the self-hosting LLVMBill Wendling2009-04-0721-239/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | builds. --- Reverse-merging (from foreign repository) r68552 into '.': U test/CodeGen/X86/tls8.ll U test/CodeGen/X86/tls10.ll U test/CodeGen/X86/tls2.ll U test/CodeGen/X86/tls6.ll U lib/Target/X86/X86Instr64bit.td U lib/Target/X86/X86InstrSSE.td U lib/Target/X86/X86InstrInfo.td U lib/Target/X86/X86RegisterInfo.cpp U lib/Target/X86/X86ISelLowering.cpp U lib/Target/X86/X86CodeEmitter.cpp U lib/Target/X86/X86FastISel.cpp U lib/Target/X86/X86InstrInfo.h U lib/Target/X86/X86ISelDAGToDAG.cpp U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp U lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h U lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h U lib/Target/X86/X86ISelLowering.h U lib/Target/X86/X86InstrInfo.cpp U lib/Target/X86/X86InstrBuilder.h U lib/Target/X86/X86RegisterInfo.td llvm-svn: 68560
* Right now DBG_LABEL are required for llvm.dbg.region_start and ↵Devang Patel2009-04-071-6/+4
| | | | | | llvm.dbg.region_end in non-fast mode also. llvm-svn: 68559
* Reduce code duplication on the TLS implementation.Rafael Espindola2009-04-0721-201/+239
| | | | | | | | | | This introduces a small regression on the generated code quality in the case we are just computing addresses, not loading values. Will work on it and on X86-64 support. llvm-svn: 68552
* Don't attempt to handle aggregate argument values in FastISel; letDan Gohman2009-04-072-1/+19
| | | | | | SelectionDAG do those. This fixes PR3955. llvm-svn: 68546
* PR2985 / <rdar://problem/6584986>Jim Grosbach2009-04-078-196/+320
| | | | | | | | | | When compiling in Thumb mode, only the low (R0-R7) registers are available for most instructions. Breaking the low registers into a new register class handles this. Uses of R12, SP, etc, are handled explicitly where needed with copies inserted to move results into low registers where the rest of the code generator can deal with them. llvm-svn: 68545
* Remove ccc now. Radar 6737767Mike Stump2009-04-071-1/+1
| | | | llvm-svn: 68544
* fix style.Torok Edwin2009-04-071-3/+3
| | | | llvm-svn: 68542
* Use 'name' instead of 'href'.Bill Wendling2009-04-071-1/+1
| | | | llvm-svn: 68534
* Fix verification failure.Bill Wendling2009-04-071-1/+1
| | | | llvm-svn: 68531
* Offer an explanation of why building LLVM-GCC with objdir == srcdir doesn'tBill Wendling2009-04-071-2/+25
| | | | | | work. llvm-svn: 68530
* Another reformatting. No change in docs.Bill Wendling2009-04-071-317/+327
| | | | llvm-svn: 68528
* Another attempt at fixing PR2975.Torok Edwin2009-04-073-1/+32
| | | | | | Types can have references to eachother, so we can't just call destroy on them. llvm-svn: 68523
* fix comment to reflect the implementation I ended up settling on.Chris Lattner2009-04-071-1/+1
| | | | | | Thanks to Duncan for noticing this llvm-svn: 68518
* fix rdar://6762290, a crash compiling cxx filt with clang.Chris Lattner2009-04-072-3/+28
| | | | llvm-svn: 68500
* Add an API for the bitstream reader to read blobs and returnChris Lattner2009-04-072-25/+37
| | | | | | | them by reference, instead of packing each byte into a smallvector. llvm-svn: 68486
* remove empty sectionChris Lattner2009-04-071-4/+0
| | | | llvm-svn: 68485
* stub out code for reading record with blobs as blobs. Not active yet.Chris Lattner2009-04-061-4/+25
| | | | llvm-svn: 68472
* allow clients to look up abbrev id'sChris Lattner2009-04-061-3/+9
| | | | llvm-svn: 68471
* Add a new EmitRecordWithBlob API that allows a blob to be emitted Chris Lattner2009-04-061-30/+103
| | | | | | without converting each byte to a uint64_t to stick in a SmallVector. llvm-svn: 68469
* add a new Blob encoding abbreviation for bitcode files that emitsChris Lattner2009-04-064-10/+56
| | | | | | | | elements in a form that is efficient for the reader to just get a pointer in memory and start reading. APIs to do efficient reading and writing are still todo. llvm-svn: 68465
* Handle 'a' modifier in ARM inline assembly.Bob Wilson2009-04-062-0/+22
| | | | | | Patch by Richard Pennington. llvm-svn: 68464
* split ReadAbbreviatedLiteral out of ReadAbbreviatedField.Chris Lattner2009-04-061-6/+12
| | | | llvm-svn: 68463
* reduce indentation with early-outChris Lattner2009-04-061-14/+14
| | | | llvm-svn: 68462
* simplify code a bit.Chris Lattner2009-04-061-9/+19
| | | | llvm-svn: 68461
* simplify to reduce indentation.Chris Lattner2009-04-061-33/+34
| | | | llvm-svn: 68460
* revert r68457, its crashing in make check.Torok Edwin2009-04-062-20/+0
| | | | llvm-svn: 68459
* Teach llvm-bcanalyzer to skip over the header we use on LLVM IR files.Chris Lattner2009-04-063-52/+69
| | | | llvm-svn: 68458
* fix (part of) memory leak on shutdown. See PR2975.Torok Edwin2009-04-062-0/+20
| | | | llvm-svn: 68457
* clean up some htmlChris Lattner2009-04-061-6/+6
| | | | llvm-svn: 68456
* Avoid -O3 on Darwin for now.Mike Stump2009-04-061-3/+5
| | | | llvm-svn: 68455
* Let the strcat optimizer return the pointer to the start of the buffer,Ed Schouten2009-04-062-2/+5
| | | | | | | | | instead of the place where it started to perform the string copy. - PR3661 - Patch by Benjamin Kramer! llvm-svn: 68443
* Map stack based frameindices for spills to zero based indices that can be ↵Sanjiv Gupta2009-04-065-33/+62
| | | | | | accessed based on an external symbol defining the location of temporary data for a function. For example: we have spill slots addressed as foo.tmp + 0, foo.tmp + 1 etc. llvm-svn: 68442
* Add character encoding declaration to fix verification warning.Bill Wendling2009-04-051-0/+1
| | | | llvm-svn: 68440
OpenPOWER on IntegriCloud