summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
* MC-COFF: Fix Simple and Complex type. Fixes PR8320.Michael J. Spencer2010-10-081-1/+1
| | | | llvm-svn: 116037
* Fix Whitespace.Michael J. Spencer2010-10-081-3/+3
| | | | llvm-svn: 116036
* After splitting, the remaining LiveInterval may be fragmented into multipleJakob Stoklund Olesen2010-10-071-1/+40
| | | | | | | | | | | | | connected components. These components should be allocated different virtual registers because there is no reason for them to be allocated together. Add the ConnectedVNInfoEqClasses class to calculate the connected components, and move values to new LiveIntervals. Use it from SplitKit::rewrite by creating new virtual registers for the components. llvm-svn: 116006
* Remove LoopIndexSplit pass. It is neither maintained nor used by anyone.Devang Patel2010-10-073-9/+0
| | | | llvm-svn: 116004
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-3/+3
| | | | llvm-svn: 115996
* Provie a clearner interface so that FE can decide whether a function has ↵Devang Patel2010-10-071-1/+8
| | | | | | prototype or not. llvm-svn: 115988
* Add output stream operator for MCInst.Jim Grosbach2010-10-071-0/+4
| | | | llvm-svn: 115974
* Move tool_output_file into its own file.Dan Gohman2010-10-072-39/+62
| | | | llvm-svn: 115973
* Add initialization routines for Instrumentation.Owen Anderson2010-10-072-0/+5
| | | | llvm-svn: 115971
* Add initialization routines to InstCombine.Owen Anderson2010-10-072-0/+5
| | | | llvm-svn: 115965
* Add initialization routines for VMCore.Owen Anderson2010-10-072-0/+5
| | | | llvm-svn: 115963
* Add initialization routines for Target.Owen Anderson2010-10-072-0/+4
| | | | llvm-svn: 115957
* Add initialization routines for CodeGen.Owen Anderson2010-10-072-0/+4
| | | | llvm-svn: 115949
* Add initialization routines for Analysis and IPA.Owen Anderson2010-10-072-0/+8
| | | | llvm-svn: 115946
* Add an initialization routine for libLLVMipo.aOwen Anderson2010-10-072-2/+6
| | | | llvm-svn: 115933
* Add a header that I forgot to commit.Owen Anderson2010-10-071-0/+32
| | | | llvm-svn: 115932
* Next step on the getting-rid-of-static-ctors train: begin adding per-libraryOwen Anderson2010-10-072-0/+18
| | | | | | | initialization functions that initialize the set of passes implemented in that library. Add C bindings for these functions as well. llvm-svn: 115927
* Add the header that I accidentally forgot from r115900.Owen Anderson2010-10-071-0/+185
| | | | llvm-svn: 115901
* Move the pass initialization helper functions into the llvm namespace, and addOwen Anderson2010-10-071-3/+4
| | | | | | | a header declaring them all. This is also where we will declare per-library pass-set initializer functions down the road. llvm-svn: 115900
* add a common SDPatternOperator base class to SDNode and PatFrag forChris Lattner2010-10-071-2/+7
| | | | | | | stuff that wants to take one or the other. These can both be used as the operation of a dag in a pattern match. llvm-svn: 115877
* Add MachineRegisterInfo::constrainRegClass and use it in MachineCSE.Jakob Stoklund Olesen2010-10-061-0/+8
| | | | | | | | This function is intended to be used when inserting a machine instruction that trivially restricts the legal registers, like LEA requiring a GR32_NOSP argument. llvm-svn: 115875
* Hide analysis group registration behind a macro, just like pass registration.Owen Anderson2010-10-061-0/+7
| | | | llvm-svn: 115835
* Add support for DW_TAG_unspecified_parameters.Devang Patel2010-10-061-0/+5
| | | | llvm-svn: 115833
* Cleanup Whitespace.Michael J. Spencer2010-10-063-25/+25
| | | | llvm-svn: 115829
* Pass initialization functions should take a PassRegistry as a parameterOwen Anderson2010-10-061-6/+5
| | | | | | rather than being fixed to the global registry. llvm-svn: 115824
* Remove compatibilty code for old-style multiple return values.Dan Gohman2010-10-061-5/+3
| | | | llvm-svn: 115799
* ComputeLinearIndex doesn't need its TLI argument.Dan Gohman2010-10-061-1/+1
| | | | llvm-svn: 115792
* Constify isReachableFromEntry.Dan Gohman2010-10-061-2/+2
| | | | llvm-svn: 115788
* Remove tabs.Bill Wendling2010-10-061-2/+2
| | | | llvm-svn: 115764
* - Add TargetInstrInfo::getOperandLatency() to compute operand latencies. ThisEvan Cheng2010-10-061-0/+16
| | | | | | | | | | | | | allow target to correctly compute latency for cases where static scheduling itineraries isn't sufficient. e.g. variable_ops instructions such as ARM::ldm. This also allows target without scheduling itineraries to compute operand latencies. e.g. X86 can return (approximated) latencies for high latency instructions such as division. - Compute operand latencies for those defined by load multiple instructions, e.g. ldm and those used by store multiple instructions, e.g. stm. llvm-svn: 115755
* Provide a fast "get me the target triple from the module" API. This canBill Wendling2010-10-061-0/+9
| | | | | | | | drastically reduce the linking time during LTO. Patch by Shantonu Sen! llvm-svn: 115728
* Another step towards getting rid of static ctors for pass registration: have ↵Owen Anderson2010-10-051-7/+19
| | | | | | | | | | INITIALIZE_PASS AND INITIALIZE_AG_PASS expand to an initializeMyPass() function (in additional to the extant static ctors). Eventually, these will be called from a big InitializeAllPasses() function, and the PassInfo's they create (which would be leaked if this code were used at the moment) will be handed off to a PassRegistry for ownership. llvm-svn: 115703
* On ELF we need to know which symbols are used in relocations to decide ifRafael Espindola2010-10-053-3/+3
| | | | | | | they should be in the symbol table or not. Instead of "guessing", just compute the symbol table after the relocations are known. llvm-svn: 115619
* Support: Add __forceinline to Compiler.h on MSVC.Michael J. Spencer2010-10-051-1/+2
| | | | llvm-svn: 115595
* The pshufw instruction came about in MMX2 when SSE was introduced. Don't placeBill Wendling2010-10-041-1/+1
| | | | | | | | | it in with the SSSE3 instructions. Steward! Could you place this chair by the aft sun deck? I'm trying to get away from the Astors. They are such boors! llvm-svn: 115552
* Incorporate suggestions by Daniel Dunbar after his review. Thanks Daniel!Kevin Enderby2010-10-041-3/+4
| | | | | | | | | | | | | | | | 1) Changed ValidateDwarfFileNumber() to isValidDwarfFileNumber() to be better named. Since it is just a predicate and isn't actually changing any state. 2) Added a missing return in the comments for setCurrentDwarfLoc() in include/llvm/MC/MCContext.h for fix formatting. 3) Changed clearDwarfLocSeen() to ClearDwarfLocSeen() since it does change state. 4) Simplified the last test in isValidDwarfFileNumber() to just a one line boolean test of MCDwarfFiles[FileNumber] != 0 for the final return statement. llvm-svn: 115551
* Add hook in MCSection to decide when to use "optimized nops", for eachJan Wen Voung2010-10-044-1/+8
| | | | | | | section kind. Previously, optimized nops were only used for MachO. Also added tests for ELF and COFF. llvm-svn: 115523
* the immediate field of pshufw is actually an 8-bit field, not a 8-bit field ↵Chris Lattner2010-10-031-1/+1
| | | | | | that is sign extended. This fixes PR8288 llvm-svn: 115473
* Jim Asked us to move DataLayout on ARM back to the most specialized classes. DoRafael Espindola2010-10-031-2/+1
| | | | | | | | so and also change X86 for consistency. Investigating if this can be improved a bit. llvm-svn: 115469
* GCC extensions are no longer used here - update the comment.Duncan Sands2010-10-031-2/+2
| | | | llvm-svn: 115463
* Remove two uses of the gcc specific 'aligned' attribute. ThisDuncan Sands2010-10-032-15/+5
| | | | | | | | | | | is partly because this attribute caused trouble in the past (the SmallVector one had to be changed from aligned to aligned(8) due to causing crashes on i386 for example; in theory the same might be needed in the Allocator case...). But it's mostly because there seems to be no point in special casing gcc here. Using the same implementation for all compilers results in better testing. llvm-svn: 115462
* When RemoveCopyByCommutingDef is creating additional identity copies, just useJakob Stoklund Olesen2010-10-011-0/+5
| | | | | | | | | | | LiveInterval::MergeValueNumberInto instead of trying to extend LiveRanges and getting it wrong. This fixed PR8249 where a valno with a multi-segment live range was defined by an identity copy created by RemoveCopyByCommutingDef. Some of the live segments disappeared. llvm-svn: 115385
* Add support to let FE mark explict methods as explict in debug info.Devang Patel2010-10-011-1/+9
| | | | llvm-svn: 115378
* Thread the determination of branch prediction hit rates back through the ↵Owen Anderson2010-10-011-6/+9
| | | | | | | | | if-conversion heuristic APIs. For now, stick with a constant estimate of 90% (branch predictors are good!), but we might find that we want to provide more nuanced estimates in the future. llvm-svn: 115364
* Massive rewrite of MMX: Dale Johannesen2010-09-301-167/+143
| | | | | | | | | | | | | | | | | | | The x86_mmx type is used for MMX intrinsics, parameters and return values where these use MMX registers, and is also supported in load, store, and bitcast. Only the above operations generate MMX instructions, and optimizations do not operate on or produce MMX intrinsics. MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into smaller pieces. Optimizations may occur on these forms and the result casted back to x86_mmx, provided the result feeds into a previous existing x86_mmx operation. The point of all this is prevent optimizations from introducing MMX operations, which is unsafe due to the EMMS problem. llvm-svn: 115243
* Comments about operand cycles and pipeline forwarding pathes.Evan Cheng2010-09-301-1/+17
| | | | llvm-svn: 115214
* Did my commit for the last patch for the .loc directory from the wrong place andKevin Enderby2010-09-306-5/+116
| | | | | | missed a bunch of files. Here the rest. Sorry about that. llvm-svn: 115173
* Adds getPointerSize() to the AsmBackend which will be needed by the final patchKevin Enderby2010-09-301-0/+3
| | | | | | for the dwarf .loc support to emit dwarf line number tables. llvm-svn: 115153
* Move logic of determining ELF entsize from the .s printer to initializationJan Wen Voung2010-09-301-0/+4
| | | | | | | time. That way, the EntrySize field is initialized for other code paths, namely, the .ll -> .o code path. llvm-svn: 115141
* Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()Jason W Kim2010-09-301-0/+1
| | | | | | | Small test for sanity check of resulting ARM .s file. Tested against -r115129. llvm-svn: 115133
OpenPOWER on IntegriCloud