summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* RemoveDevang Patel2008-11-111-0/+0
| | | | llvm-svn: 59093
* Undo previous check-in.Devang Patel2008-11-111-97/+0
| | | | llvm-svn: 59092
* This shouldn't be necessaryAndrew Lenharth2008-11-111-1/+2
| | | | llvm-svn: 59090
* Fix FMDRR encoding.Evan Cheng2008-11-114-26/+51
| | | | llvm-svn: 59088
* Handle floating point constpool_entry's.Evan Cheng2008-11-111-4/+25
| | | | llvm-svn: 59087
* Don't walk into predecessors in which the vreg is not live when doing ↵Owen Anderson2008-11-111-0/+2
| | | | | | | | shrinkwrapping. This lets several failing tests get farther along, but doesn't completely fix any of them. llvm-svn: 59086
* Encode VFP load / store instructions.Evan Cheng2008-11-114-104/+220
| | | | llvm-svn: 59084
* In ScheduleDAGRRList::CopyAndMoveSuccessors, create the SUnit for the loadDan Gohman2008-11-111-17/+17
| | | | | | | | | before creating the SUnit for the operation that it was unfolded from. This allows each SUnit to have all of its predecessor SUnits available at the time it is created. I don't know yet if this will be absolutely required, but it is a little tidier to do it this way. llvm-svn: 59083
* Avoid relying on the SelectionDAG for initializing the MachineFunction andDan Gohman2008-11-111-3/+3
| | | | | | TargetLoweringInfo variables for the scheduler. llvm-svn: 59082
* CMake: Updated list of source files for lib/Transforms/Utils.Oscar Fuentes2008-11-111-0/+1
| | | | llvm-svn: 59077
* Encode VFP conversion instructions.Evan Cheng2008-11-114-35/+126
| | | | llvm-svn: 59074
* Add utility pass to remove dbg info.Devang Patel2008-11-111-0/+97
| | | | llvm-svn: 59068
* Silence unused variable warning.Devang Patel2008-11-111-0/+1
| | | | llvm-svn: 59064
* Use actual function name in comments.Devang Patel2008-11-111-2/+2
| | | | llvm-svn: 59063
* Change the scheduler accessor methods to accept an explicit TargetMachineDan Gohman2008-11-114-10/+16
| | | | | | | argument instead of taking the SelectionDAG's TargetMachine. This is needed for some upcoming scheduler changes. llvm-svn: 59055
* Add a README entry.Evan Cheng2008-11-111-0/+17
| | | | llvm-svn: 59052
* CMake: corrected split of Alpha and Sparc AsmPrinters.Oscar Fuentes2008-11-112-4/+2
| | | | llvm-svn: 59050
* Separate sparc asmprinter. This should unbreak the native buildAnton Korobeynikov2008-11-114-1/+27
| | | | llvm-svn: 59047
* Separate alpha asmprinter. This should unbreak native build.Anton Korobeynikov2008-11-114-1/+27
| | | | llvm-svn: 59046
* The 32-bit displacement field in an x86 address is signed. Arrange for itDan Gohman2008-11-111-10/+13
| | | | | | | | | | | | to be sign-extended when it is promoted to 64 bits for intermediate offset calculations. The offset calculations are done as uint64_t so that overflow conditions are well defined. This fixes a problem which is currently hidden by the x86 AsmPrinter but which was exposed by r58917 (which is temporarily reverted). See PR3027 for details. llvm-svn: 59044
* Update CMakeLists.txtCedric Venet2008-11-111-0/+1
| | | | llvm-svn: 59039
* Fix for PR3040:Bill Wendling2008-11-111-18/+35
| | | | | | | | | The CC was changed, but wasn't checked to see if it was legal if the DAG combiner was being run after legalization. Threw in a couple of checks just to make sure that it's okay. As far as the PR is concerned, no back-end target actually exhibited this problem, so there isn't an associated testcase. llvm-svn: 59035
* fix another libgcc blockerAndrew Lenharth2008-11-111-0/+1
| | | | llvm-svn: 59026
* Cleaned up and fix bugs in convert_rndsat nodeMon P Wang2008-11-112-18/+39
| | | | llvm-svn: 59025
* Unbreak the buildbot and back out (inadvertant) casting edits in CellSPUScott Michel2008-11-111-7/+7
| | | | | | backend. llvm-svn: 59018
* Encode VFP arithmetic instructions.Evan Cheng2008-11-114-108/+226
| | | | llvm-svn: 59016
* Cleanup debug info. assocated with deleted instructions.Devang Patel2008-11-111-2/+7
| | | | llvm-svn: 59012
* Add utility routines to remove dead debug info.Devang Patel2008-11-111-0/+60
| | | | llvm-svn: 59011
* CellSPU: Fix bug 3606, as well as some ongoing work.Scott Michel2008-11-103-12/+58
| | | | llvm-svn: 59009
* Small simplification. Use the iterator already present as the insertion point.Bill Wendling2008-11-101-4/+3
| | | | llvm-svn: 59008
* Comments and indentation.Evan Cheng2008-11-101-3/+3
| | | | llvm-svn: 59007
* Correct PIC function stub codegen.Evan Cheng2008-11-102-7/+52
| | | | llvm-svn: 59006
* Fix indentation.Dan Gohman2008-11-101-1/+1
| | | | llvm-svn: 59004
* Temporarily revert r58979 and related patch. It's causing a failure in X86 ↵Bill Wendling2008-11-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | bootstrap: Comparing stages 2 and 3 warning: ./cc1-checksum.o differs warning: ./cc1obj-checksum.o differs warning: ./cc1objplus-checksum.o differs warning: ./cc1plus-checksum.o differs Bootstrap comparison failure! ./alias.o differs ./alloc-pool.o differs ./attribs.o differs ./bb-reorder.o differs ./bitmap.o differs ./build/errors.o differs ./build/genattrtab.o differs ./build/genautomata.o differs ./build/genemit.o differs ./build/genextract.o differs ... -bw llvm-svn: 59003
* - Make sure that we don't over-increment the iterator when going through theBill Wendling2008-11-101-7/+8
| | | | | | | basic blocks. - Minor code clean-up. llvm-svn: 59002
* Added CONVERT_RNDSAT (conversion with rounding and saturation) SDNode toMon P Wang2008-11-107-2/+290
| | | | | | | support targets that support these conversions. Users should avoid using this node as the current targets don't generating code for it. llvm-svn: 59001
* If the sign of exit condition and split condition does not matchDevang Patel2008-11-101-1/+6
| | | | | | then do not split loop index. llvm-svn: 58995
* Fix PR2667: add soft float support for sint_to_fp/uint_to_fpDuncan Sands2008-11-102-15/+25
| | | | | | | where the argument is an apint, or smaller than the minimum size for which there is a libcall (i32). llvm-svn: 58994
* Tweak some comments.Duncan Sands2008-11-102-5/+4
| | | | llvm-svn: 58993
* Small cleanups. No functionality change intended!Duncan Sands2008-11-102-16/+8
| | | | llvm-svn: 58992
* When promoting the result of fp_to_uint/fp_to_sint,Duncan Sands2008-11-101-10/+15
| | | | | | | | | | | | | | | | | | inform the optimizers that the result must be zero/ sign extended from the smaller type. For example, if a fp to unsigned i16 is promoted to fp to i32, then we are allowed to assume that the extra 16 bits are zero (because the result of fp to i16 is undefined if the result does not fit in an i16). This is quite aggressive, but should help the optimizers produce better code. This requires correcting a test which thought that fp_to_uint is some kind of truncation, which it is not: in the testcase (which does fp to i1), either the fp value converts to 0 or 1 or the result is undefined, which is quite different to truncation. llvm-svn: 58991
* Really fix testb optimization on big-endian.Dale Johannesen2008-11-101-5/+8
| | | | | | Fixes ppc32 bootstrap. llvm-svn: 58979
* Third time's a charm.Bill Wendling2008-11-101-60/+58
| | | | | | | The previous patches didn't match correctly. Also, we need to make sure that the conditional is the same before doing the transformation. llvm-svn: 58978
* Added support for the following definition of shufflevector Mon P Wang2008-11-1011-70/+302
| | | | | | <result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask> llvm-svn: 58964
* eliminate a couple more uses of utohexstr.Chris Lattner2008-11-101-6/+10
| | | | llvm-svn: 58963
* Use utohex_buffer instead of utohexstr to avoid creating a temporaryChris Lattner2008-11-102-2/+5
| | | | | | string in the .ll and .s printers. llvm-svn: 58962
* Move getCastToEmpty out of DIDescriptor into DIFactory. It is anChris Lattner2008-11-101-44/+45
| | | | | | | implementation detail of DIFactory anyway, and this allows it to avoid recomputing the same type over and over. llvm-svn: 58960
* Fix an over aggressive assumption that struct decls will have a pointer toChris Lattner2008-11-101-1/+1
| | | | | | | an array that is empty. Instead of requiring this array, allow a null pointer. This shrinks all forward references of structs. llvm-svn: 58959
* add new fileChris Lattner2008-11-101-0/+1
| | | | llvm-svn: 58955
* Add a new set of helper classes for creating and reading debug Chris Lattner2008-11-101-0/+662
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | information. This logically replaces the "Desc" classes in MachineModuleInfo. Nice features of these classes are that they: 1. Are much more efficient than MMI because they don't create a temporary parallel data structure for debug info that has to be 'serialized' and 'deserialized' into/out of the module. 2. These provide a much cleaner abstraction for debug info than MMI, which will make it easier to change the implementation in the future (to be MDNode-based). 3. These are much easier to use than the MMI interfaces, requiring a lot less code in the front-ends. 4. These can be used to both create (for frontends) and read (for codegen) debug information. DebugInfoBuilder can only be used to create the nodes. So far, this is implemented just enough to support the debug info generation needs of clang. This can and should be extended to support the full set of debug info constructs, and we should switch llvm-gcc and llc over to using this in the near future. This code also has a ton of FIXMEs in it, because the way we currently represent debug info in LLVM IR is basically insane in a variety of details. This sort of issue should be fixed when we eventually reimplement debug info on top of MDNodes. llvm-svn: 58954
OpenPOWER on IntegriCloud