summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Preserve the inbounds flag, so that the constant folder doesn'tDan Gohman2009-09-121-2/+5
| | | | | | recompute it. llvm-svn: 81634
* Fix the build when DEBUG_SYMBOL_TABLE is set.Dan Gohman2009-09-121-1/+1
| | | | llvm-svn: 81633
* factor MBB label lowering betterChris Lattner2009-09-122-6/+6
| | | | llvm-svn: 81630
* X86MCInstLower::Lower should only not emit anything to OutStreamer,Chris Lattner2009-09-122-27/+43
| | | | | | | | this means that it can only lower one MachineInstr to one MCInst. To make this fly, we need to pull out handling of MO_GOT_ABSOLUTE_ADDRESS (which generates an implicit label) out of X86MCInstLower. llvm-svn: 81629
* eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol forChris Lattner2009-09-124-11/+12
| | | | | | MBB labels like everything else. llvm-svn: 81628
* split MachineInstr -> MCInst lowering into its own class (notChris Lattner2009-09-123-134/+198
| | | | | | | being embedded into X86ATTAsmPrinter). This still depends heavily on X86ATTAsmPrinter, but this is a step in the right direction. llvm-svn: 81627
* remove the "old" at&t style asmprinter. Unfortunately, most of theChris Lattner2009-09-122-19/+1
| | | | | | | operand printing crapola cannot be removed yet because it is used by the inline asm print stuff. llvm-svn: 81626
* Moved some more index operations over to LiveIntervals.Lang Hames2009-09-122-51/+51
| | | | llvm-svn: 81605
* Added the WAIT instruction to the Intel tables,Sean Callanan2009-09-121-0/+1
| | | | | | for the purposes of the disassembler. llvm-svn: 81603
* Added CMPS (string comparison) instructions for allSean Callanan2009-09-122-0/+6
| | | | | | | operand widths to the Intel instruction tables, for the purposes of the disassembler. llvm-svn: 81601
* Remove -new-coalescer-heuristic. It's not useful.Evan Cheng2009-09-122-183/+21
| | | | llvm-svn: 81600
* 80 col violations.Evan Cheng2009-09-121-5/+9
| | | | llvm-svn: 81598
* fix another GCC bootstrap problem, which manifested as thingsChris Lattner2009-09-121-1/+1
| | | | | | | like: foo.s:2412:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb" llvm-svn: 81596
* fix an embarassing typo that resulted in llvm-gcc bootstrap miscompareChris Lattner2009-09-121-1/+1
| | | | | | because the sorting wasn't sorting. llvm-svn: 81592
* Added SCAS instructions in their 8, 16, 32, andSean Callanan2009-09-122-0/+6
| | | | | | 64-bit variants for the disassembler. llvm-svn: 81591
* Fix -Asserts warning.Daniel Dunbar2009-09-111-2/+2
| | | | llvm-svn: 81580
* Update CMake files.Ted Kremenek2009-09-113-1/+3
| | | | llvm-svn: 81577
* Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn'tDan Gohman2009-09-114-18/+19
| | | | | | | | | | | | | | | working. To support this, add an is_displayed() function to raw_ostream, and generalize Process::StandardOutIsDisplayed and friends in order to support it. Also, call RemoveFileOnSignal before creating a file instead of after, so that the file isn't left behind if the program is interrupted between when the file is created and RemoveFileOnSignal is called. While here, add a -S to llvm-extract and port it to IRReader so that it supports assembly input. llvm-svn: 81568
* Revert array initialization regclass change so that the initialization stays ↵Jim Grosbach2009-09-111-24/+20
| | | | | | static, not runtime. llvm-svn: 81560
* Update register class references to use the global constant ↵Jim Grosbach2009-09-112-26/+30
| | | | | | ARM::*RegisterClass names. llvm-svn: 81556
* Added ADC, SUB, SBB, and OR instructions that operateSean Callanan2009-09-112-0/+41
| | | | | | on rAX and an immediate. llvm-svn: 81551
* fix pastoChris Lattner2009-09-111-2/+2
| | | | llvm-svn: 81544
* Don't generate Dwarf line table entries for source line 0.Caroline Tice2009-09-111-0/+6
| | | | llvm-svn: 81542
* fix some fixmes: emit stubs in sorted order.Chris Lattner2009-09-111-14/+34
| | | | llvm-svn: 81541
* Fix PR4948 (and a leak): by not destroying the DwarfExceptionDuncan Sands2009-09-111-0/+2
| | | | | | | | | object, the timer it creates was not being deleted. Since the timer belonged to a static timer group, the timer group would be destroyed on shutdown, and would notice and complain that not all timers it contained were destroyed. llvm-svn: 81533
* turn on -experimental-asm-printer for x86 / AT&T by default.Chris Lattner2009-09-111-1/+1
| | | | llvm-svn: 81532
* reject attempts to take the address of an intrinsic, PR4949.Chris Lattner2009-09-111-0/+12
| | | | llvm-svn: 81530
* Bugfix. Sorry.Andreas Neustifter2009-09-111-1/+1
| | | | llvm-svn: 81517
* Make ProfileEstimator even more robust on general CFGs.Andreas Neustifter2009-09-112-55/+112
| | | | llvm-svn: 81516
* switch HiddenGVStubs to be a DenseMap instead of a string map, mirroring ↵Chris Lattner2009-09-113-9/+28
| | | | | | FnStubs and GVStubs. llvm-svn: 81514
* Fix a bug I introduced in FnStubs generation, switch GVStubs to be a Chris Lattner2009-09-113-29/+79
| | | | | | densemap instead of StringMap to match FnStubs. llvm-svn: 81513
* change FnStubs from being a StringMap<std::string> to being a muchChris Lattner2009-09-113-17/+34
| | | | | | | | | | more efficient SmallPtrSet<MCSymbol*>. This eliminates string craziness and fixes CodeGen/X86/darwin-quote.ll with the new asmprinter. Codegen is producing stubs in a nondeterminstic order, but it was doing this before anyway. llvm-svn: 81511
* printInstruction() no longer prints a \n after itself, do itChris Lattner2009-09-111-0/+1
| | | | | | for the two instruction MOVPC32r sequence. llvm-svn: 81509
* reimplement X86ATTAsmPrinter::GetGlobalAddressSymbol in terms ofChris Lattner2009-09-111-15/+21
| | | | | | | | Mangler::getNameWithPrefix. In addition to avoiding some over quoting, this also is more efficient because it uses smallvector instead of std::string thrashing. llvm-svn: 81508
* fix prefix ordering, it's L_foo not _LfooChris Lattner2009-09-111-2/+1
| | | | llvm-svn: 81506
* add a new Mangler::getNameWithPrefix API which returns theChris Lattner2009-09-111-2/+48
| | | | | | | | (uniqued if unnamed) global variable name with the prefix that it is supposed to get. It doesn't do "mangling" in the sense of adding quotes and hacking on bad characters. llvm-svn: 81505
* convert X86ATTAsmPrinter::GetExternalSymbolSymbol to use SmallStringChris Lattner2009-09-111-7/+11
| | | | | | instead of std::string and Mangler. llvm-svn: 81503
* rearrange some code, export a SmallString version of DecorateCygMingName.Chris Lattner2009-09-113-52/+53
| | | | llvm-svn: 81502
* Follow up to 81494. When the folded reload is narrowed to a 32-bit load then ↵Evan Cheng2009-09-111-0/+16
| | | | | | change the destination register to a 32-bit one or add a sub-register index. llvm-svn: 81496
* It's not legal to fold a load from a narrower stack slot into a wider ↵Evan Cheng2009-09-112-10/+31
| | | | | | | | | | | | instruction. If done, the instruction does a 64-bit load and that's not safe. This can happen we a subreg_to_reg 0 has been coalesced. One exception is when the instruction that folds the load is a move, then we can simply turn it into a 32-bit load from the stack slot. rdar://7170444 llvm-svn: 81494
* Make fast-isel try ISD::FNEG before resorting to bitcasts and xors.Dan Gohman2009-09-111-1/+9
| | | | llvm-svn: 81493
* Reapply r81171 with a fix: don't try to use i64 when itDan Gohman2009-09-111-4/+19
| | | | | | isn't legal. llvm-svn: 81492
* Fix indentation.Dan Gohman2009-09-111-1/+1
| | | | llvm-svn: 81484
* Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword andDan Gohman2009-09-114-15/+107
| | | | | | | | | | | | | how to fold notionally-out-of-bounds array getelementptr indices instead of just doing these in lib/Analysis/ConstantFolding.cpp, because it can be done in a fairly general way without TargetData, and because not all constants are visited by lib/Analysis/ConstantFolding.cpp. This enables more constant folding. Also, set the "inbounds" flag when the getelementptr indices are one-past-the-end. llvm-svn: 81483
* Factor out the code for checking that all indices in a getelementptr areDan Gohman2009-09-103-15/+38
| | | | | | | | | within the notional bounds of the static type of the getelementptr (which is not the same as "inbounds") from GlobalOpt into a utility routine, and use it in ConstantFold.cpp to check whether there are any mis-behaved indices. llvm-svn: 81478
* Give these files top-level comments that describe the current code.Dan Gohman2009-09-101-3/+7
| | | | llvm-svn: 81473
* Fix whitespaces.Devang Patel2009-09-101-4/+4
| | | | llvm-svn: 81468
* Don't swap the operands of a subtraction when trying to create aBob Wilson2009-09-101-1/+1
| | | | | | post-decrement load/store. llvm-svn: 81464
* Fix uppercaseo.Dale Johannesen2009-09-101-1/+1
| | | | llvm-svn: 81463
* Added the ParseInstruction() hook for target specific assembler directives soKevin Enderby2009-09-101-1/+38
| | | | | | | | that things like .word can be parsed as target specific. Moved parsing .word out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes for other targets that support the .word directive. llvm-svn: 81461
OpenPOWER on IntegriCloud