summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Handle IMPLICIT_DEF with isUndef operand marker, part 2. This patch moves ↵Evan Cheng2009-07-0110-62/+183
| | | | | | the code to annotate machineoperands to LiveIntervalAnalysis. It also add markers for implicit_def that define physical registers. The rest, is just a lot of details. llvm-svn: 74580
* Remove unused AsmPrinter OptLevel argument, and propogate.Daniel Dunbar2009-07-0145-127/+77
| | | | | | | - This more or less amounts to a revert of r65379. I'm curious to know what happened that caused this variable to become unused. llvm-svn: 74579
* Add PIC load and store patterns for Thumb-2.David Goodwin2009-07-011-0/+28
| | | | llvm-svn: 74577
* Add a global context, for easing backwards compatibility.Owen Anderson2009-06-301-0/+7
| | | | llvm-svn: 74574
* Thumb-2 load and store double description. But nothing yet creates them.David Goodwin2009-06-302-1/+40
| | | | llvm-svn: 74566
* Add an "alignment" field to the MachineFunction object. It makes more sense toBill Wendling2009-06-3033-36/+108
| | | | | | | | | | have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. llvm-svn: 74564
* Add thumb-2 store word, halfword, and byte.David Goodwin2009-06-301-0/+18
| | | | llvm-svn: 74555
* Minor code cleanups.Dan Gohman2009-06-301-2/+6
| | | | llvm-svn: 74551
* Reapply 74494, this time removing the conflicting definition of operator<<Dan Gohman2009-06-301-0/+6
| | | | | | in APIntTest.cpp. llvm-svn: 74550
* Improve Thumb-2 jump table support.David Goodwin2009-06-304-14/+37
| | | | llvm-svn: 74549
* Add 256-bit memory operand support.David Greene2009-06-303-0/+16
| | | | llvm-svn: 74548
* Add conditional and unconditional thumb-2 branch. Add thumb-2 jump table.David Goodwin2009-06-307-33/+112
| | | | llvm-svn: 74543
* Add wrappers for type construction to LLVMContext.Owen Anderson2009-06-301-0/+58
| | | | llvm-svn: 74542
* Fix up header comments to make Chris happy.Owen Anderson2009-06-302-1/+11
| | | | llvm-svn: 74537
* Fix PR4485.Rafael Espindola2009-06-301-3/+6
| | | | | | | Avoid unnecessary duplication of operand 0 of X86::FpSET_ST0_80. This duplication would cause one register to remain on the stack at the function return. llvm-svn: 74534
* Fixed assert that checks return value of TlsSetValue.Oscar Fuentes2009-06-301-1/+1
| | | | | | | | See http://msdn.microsoft.com/en-us/library/ms686818(VS.85).aspx Patch by Olaf Krzikalla! llvm-svn: 74526
* Fix PR4484.Rafael Espindola2009-06-301-3/+5
| | | | | | This was caused by me confounding FP0 and ST(0). llvm-svn: 74523
* Temporarily restore the scavenger implicit_def checking code. MachineOperand ↵Evan Cheng2009-06-301-5/+23
| | | | | | isUndef mark is not being put on implicit_def of physical registers (created for parameter passing, etc.). llvm-svn: 74519
* Add a bit IsUndef to MachineOperand. This indicates the def / use register ↵Evan Cheng2009-06-307-60/+60
| | | | | | | | | | operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing. This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def. llvm-svn: 74518
* Temporarily revert r74494. It was causing failures in the unit tests.Bill Wendling2009-06-301-6/+0
| | | | llvm-svn: 74515
* Fix the build on Cygwin. Patch by Aaron Gray.Owen Anderson2009-06-302-3/+3
| | | | llvm-svn: 74510
* remove a bogus note.Chris Lattner2009-06-301-20/+0
| | | | llvm-svn: 74509
* add a noteChris Lattner2009-06-301-0/+20
| | | | llvm-svn: 74508
* #include <iostream> is forbidden. Remove it in favor of raw_ostream.Bill Wendling2009-06-303-27/+24
| | | | llvm-svn: 74507
* A few more load instructions.Evan Cheng2009-06-304-39/+99
| | | | llvm-svn: 74500
* Array accesses are independent if the underlying arrays differ.Andreas Bolka2009-06-301-0/+47
| | | | llvm-svn: 74499
* Define an operator<< for APInt to be used with std::ostream.Dan Gohman2009-06-301-0/+6
| | | | | | | This will allow it to be used in unittests that use gtest's EXPECT_EQ. llvm-svn: 74494
* Minor formatting, whitespace, and 80-column fixes.Dan Gohman2009-06-301-7/+7
| | | | llvm-svn: 74492
* Minor code simplification.Dan Gohman2009-06-301-3/+2
| | | | llvm-svn: 74491
* Normalize SourceMgr messages.Daniel Dunbar2009-06-301-3/+7
| | | | | | | | | | | | - Don't print "Parsing" in front of every message. - Take additional "type" argument which is prepended to the message (with ": ") if given. - Update clients to print errors (warnings) as: <filename>:<line number>: error(warning): ... llvm-svn: 74489
* Add LLVMContext, which will eventually be used as a container for ↵Owen Anderson2009-06-303-0/+400
| | | | | | | | privatizing a lot of (currently) global state, including the constant and type uniquing tables. For now, just make it a wrapper around the existing APIs. llvm-svn: 74488
* Add a way to access argv[0] in hooks.Mikhail Glushenkov2009-06-301-0/+5
| | | | llvm-svn: 74483
* Move the driver entry point out of Main.inc.Mikhail Glushenkov2009-06-301-0/+125
| | | | llvm-svn: 74482
* llvm-mc: Parse .{,b,p2}align{,w,l} directives.Daniel Dunbar2009-06-291-5/+9
| | | | llvm-svn: 74478
* Struct types are described using field types only.Devang Patel2009-06-291-3/+0
| | | | llvm-svn: 74477
* Fix install of libCompilerDriver dynamic library to not copy on every build.Daniel Dunbar2009-06-291-4/+5
| | | | llvm-svn: 74473
* Add a 256-bit register class and YMM registers.David Greene2009-06-292-0/+32
| | | | llvm-svn: 74469
* Add Thumb-2 support for TEQ amd TST.David Goodwin2009-06-291-1/+4
| | | | llvm-svn: 74468
* Use getSCEV instead of getUnknown to create a SCEV for aDan Gohman2009-06-291-3/+3
| | | | | | | | | | Constant. This lets ConstantInts be handled as SCEVConstant instead of SCEVUnknown, as getUnknown no longer has special-case code for ConstantInt and friends. This usually doesn't affect the final output, since the constants end up getting folded later, but it does make intermediate expressions more obvious in many cases. llvm-svn: 74459
* Don't build LLVMC when configured with --disable-pic (it needs requires sharedDaniel Dunbar2009-06-291-2/+10
| | | | | | module support to build). llvm-svn: 74456
* Set wasRun to false here on Dan's suggestion.Torok Edwin2009-06-291-0/+1
| | | | llvm-svn: 74455
* s/MainCU/ModuleCU/gDevang Patel2009-06-292-30/+29
| | | | llvm-svn: 74452
* Multiple DW_TAG_compile_unit is not used, afaict, on any target.Devang Patel2009-06-291-103/+41
| | | | | | Update dwarf writer to only emit one DW_TAG_compile_unit per .o file. llvm-svn: 74449
* Don't cache PHI exit values from exhaustive evaluations, becauseDan Gohman2009-06-291-1/+0
| | | | | | | | an individual exhaustive evaluation reflects only the exit value implied by an individual exit, which may differ from the actual exit value of the loop if there are other exits. This fixes PR4477. llvm-svn: 74447
* FIX PR 4459.Rafael Espindola2009-06-291-1/+1
| | | | | | | Not sure I understand how the temp register gets used, but this fixes a bug and introduces no regressions. llvm-svn: 74446
* Initialize CurSection in constructor.Torok Edwin2009-06-291-1/+1
| | | | | | Not doing so causes some unittests to fail, because CurSection is uninitialized. llvm-svn: 74442
* Rename MCValue::getCst to getConstant and add MCValue::isConstant.Daniel Dunbar2009-06-291-4/+4
| | | | llvm-svn: 74440
* Relax LDA memory instruction checks.Andreas Bolka2009-06-291-4/+7
| | | | llvm-svn: 74439
* Call doInitialization(), releaseMemory(), and doFinalization() for ↵Torok Edwin2009-06-292-1/+42
| | | | | | | | | | on-the-fly passes as well. Also don't call finalizers for LoopPass if initialization was not called. Add a unittest that tests that these methods are called, in the proper order, and the correct number of times. llvm-svn: 74438
* Simplify this code, and avoid using APInt(). This fixesDan Gohman2009-06-291-4/+2
| | | | | | | (otherwise harmless) uninitialized value warnings that Duncan found with gcc-4.4. llvm-svn: 74437
OpenPOWER on IntegriCloud