summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Stack Alignment: throw error if we can't satisfy the minimal alignmentManman Ren2013-01-103-20/+34
| | | | | | | | | | | | | | | | | | requirement when creating stack objects in MachineFrameInfo. Add CreateStackObjectWithMinAlign to throw error when the minimal alignment can't be achieved and to clamp the alignment when the preferred alignment can't be achieved. Same is true for CreateVariableSizedObject. Will not emit error in CreateSpillStackObject or CreateStackObject. As long as callers of CreateStackObject do not assume the object will be aligned at the requested alignment, we should not have miscompile since later optimizations which look at the object's alignment will have the correct information. rdar://12713765 llvm-svn: 172027
* [Object][Archive] Fix name handling with bsd style long names.Michael J. Spencer2013-01-101-8/+14
| | | | llvm-svn: 172026
* [Object][Archive] Apparently StringRef::getAsInteger for APInt accepts spaces.Michael J. Spencer2013-01-101-2/+6
| | | | llvm-svn: 172022
* Revert s/Raw/getBitMask/g name change. This is possibly causing LTO test ↵Bill Wendling2013-01-094-22/+25
| | | | | | hangings. llvm-svn: 172020
* [Object][Archive] Use uint64_t instead of APInt. It is significantly faster.Michael J. Spencer2013-01-091-10/+10
| | | | llvm-svn: 172015
* Fix description of ARMOperandJoel Jones2013-01-091-1/+1
| | | | llvm-svn: 172011
* ARM Cost model: Use the size of vector registers and widest vectorizable ↵Nadav Rotem2013-01-095-3/+88
| | | | | | instruction to determine the max vectorization factor. llvm-svn: 172010
* Fix a DAG combine bug visitBRCOND() is transforming br(xor(x, y)) to br(x != y).Evan Cheng2013-01-091-12/+18
| | | | | | | | | It cahced XOR's operands before calling visitXOR() but failed to update the operands when visitXOR changed the XOR node. rdar://12968664 llvm-svn: 171999
* Move the internal PrintStackTrace function that is used for ↵Argyrios Kyrtzidis2013-01-092-11/+19
| | | | | | | | llvm::sys::PrintStackTraceOnErrorSignal(), into a new function llvm::sys::PrintStackTrace, so that it's available to clients for logging purposes. llvm-svn: 171989
* [ObjCARC Debug Messages] This is a squashed commit of 3x debug message ↵Michael Gottesman2013-01-091-0/+24
| | | | | | | | | | commits ala echristo's suggestion. 1. Added debug messages when in OptimizeIndividualCalls we move calls into predecessors and then erase the original call. 2. Added debug messages when in the process of moving calls in ObjCARCOpt::MoveCalls we create new RR and delete old RR. 3. Added a debug message when we visit a specific retain instruction in ObjCARCOpt::PerformCodePlacement. llvm-svn: 171988
* Don't print bundle flags.Jakob Stoklund Olesen2013-01-091-1/+2
| | | | | | | The bundle flags are used by MachineBasicBlock::print(), they don't need to clutter up individual MachineInstrs. llvm-svn: 171986
* Don't require BUNDLE headers in MachineInstr::getBundleSize().Jakob Stoklund Olesen2013-01-091-10/+5
| | | | | | | | It is possible to build MI bundles that don't begin with a BUNDLE header. Add support for such bundles, counting all instructions inside the bundle. llvm-svn: 171985
* LICM: Hoist insertvalue/extractvalue out of loops.Benjamin Kramer2013-01-091-7/+6
| | | | | | Fixes PR14854. llvm-svn: 171984
* Fix a typo in MachineInstr::unbundleFromSucc() method.Sergei Larin2013-01-091-1/+1
| | | | llvm-svn: 171983
* PowerPC: EH adjustmentsAdhemerval Zanella2013-01-093-11/+34
| | | | | | | | | This patch adjust the r171506 to make all DWARF enconding pc-relative for PPC64. It also adds the R_PPC64_REL32 relocation handling in MCJIT (since the eh_frame will not generate PIC-relative relocation) and also adds the emission of stubs created by the TTypeEncoding. llvm-svn: 171979
* Refactor to expose RTLIB calls to targets.Tim Northover2013-01-096-337/+367
| | | | | | | | | | fp128 is almost but not quite completely illegal as a type on AArch64. As a result it needs to have a register class (for argument passing mainly), but all operations need to be lowered to runtime calls. Currently there's no way for targets to do this (without duplicating code), as the relevant functions are hidden in SelectionDAG. This patch changes that. llvm-svn: 171971
* Alter the hasing computation when inserting into the folding set.Bill Wendling2013-01-091-2/+1
| | | | llvm-svn: 171960
* tblgen: use an early return to reduce indentation.Sean Silva2013-01-091-18/+18
| | | | llvm-svn: 171954
* Efficient lowering of vector sdiv when the divisor is a splatted power of ↵Nadav Rotem2013-01-092-0/+51
| | | | | | | | | | | two constant. PR 14848. The lowered sequence is based on the existing sequence the target-independent DAG Combiner creates for the scalar case. Patch by Zvi Rackover. llvm-svn: 171953
* tblgen: Factor out common code.Sean Silva2013-01-092-17/+18
| | | | llvm-svn: 171951
* Last in the series of removing unnecessary '0' arguments forEric Christopher2013-01-0911-20/+20
| | | | | | | address space. Reordered the EmitULEB128IntValue arguments to make this easier. llvm-svn: 171949
* MIsched: add an ILP window property to machine model.Andrew Trick2013-01-094-10/+11
| | | | | | | | | | This was an experimental option, but needs to be defined per-target. e.g. PPC A2 needs to aggressively hide latency. I converted some in-order scheduling tests to A2. Hal is working on more test cases. llvm-svn: 171946
* [Object, DebugInfo] Make DWARFContext BE-aware.NAKAMURA Takumi2013-01-091-1/+1
| | | | | | test/DebugInfo/member-pointers.ll would not fail in targetting BE any more. llvm-svn: 171943
* Inline this into its only caller.Sean Silva2013-01-092-12/+5
| | | | | | | | | | | It's clearer and additionally this gets rid of the usage of `DefmID`, which doesn't really correspond to anything in the language (it was just used in the name of this parsing function which parsed a `MultiClassID` and returned that multiclass's record). This area of the code still needs a lot of work. llvm-svn: 171938
* tblgen: Reuse function that is 2 lines above.Sean Silva2013-01-091-11/+2
| | | | llvm-svn: 171937
* fix copy-paste-oSean Silva2013-01-091-2/+2
| | | | llvm-svn: 171936
* docs: Bring TableGen syntax a bit closer to reality.Sean Silva2013-01-091-1/+6
| | | | | | | | | It's not just def's but actually a limited subset of Object's that are allowed inside a multiclass. Spotted by Joel Jones. llvm-svn: 171935
* These functions have default arguments of 0 for the last arg. UseEric Christopher2013-01-098-41/+39
| | | | | | them. llvm-svn: 171933
* These functions have default arguments of 0 for the last arg. UseEric Christopher2013-01-096-26/+24
| | | | | | them and add one where it seemed obvious that we wanted one. llvm-svn: 171932
* Cost Model: Move the 'max unroll factor' variable to the TTI and add initial ↵Nadav Rotem2013-01-095-5/+53
| | | | | | Cost Model support on ARM. llvm-svn: 171928
* Add comment to the definition of Constant::isZeroValue(). Shuxin Yang2013-01-091-0/+2
| | | | | | | | (There already has a concise comment to the declaration.) Thank Eric Christopher for his feedback! llvm-svn: 171926
* Forgot the namespace identifier.Bill Wendling2013-01-091-2/+2
| | | | llvm-svn: 171924
* Add the integer value of the ConstantInt instead of the Constant* value.Bill Wendling2013-01-092-6/+9
| | | | | | This is causing some problems. The root cause is unknown at this time. llvm-svn: 171923
* Consider expression "0.0 - X" as the negation of X ifShuxin Yang2013-01-094-6/+18
| | | | | | | - this expression is explicitly marked no-signed-zero, or - no-signed-zero of this expression can be derived from some context. llvm-svn: 171922
* Move the string pools down into the units. No functional change.Eric Christopher2013-01-082-22/+14
| | | | llvm-svn: 171905
* Simplify the code a bit: MCRelaxableFragment doesn't need a separate getInstSizeEli Bendersky2013-01-081-3/+2
| | | | | | | | | | method because getContents().size() already covers it. So computeFragmentSize can use the generic MCEncodedFragment interface when querying both Data and Relaxable fragments for contents sizes. No change in functionality llvm-svn: 171903
* Fix memory leak in YAML I/O.Nick Kledzik2013-01-081-9/+32
| | | | | | | | Stop using BumpPtrAllocator for HNodes because they have fields (vector, map) which require HNode destructors to be run. llvm-svn: 171896
* This patch produces the correct addend value forJack Carter2013-01-081-0/+1
| | | | | | | | an R_MIPS_GPREL16 relocation. Contributer: Jack Carter llvm-svn: 171882
* This patch produces the correct pointer size Jack Carter2013-01-081-0/+4
| | | | | | | | | | | | value in the 64 bit .eh_frame section. It doesn't however allow exception handling to work yet since it depends on the correct relocation model being set in the ELF header flags. Contributer: Jack Carter llvm-svn: 171881
* Pad Short Functions for Intel AtomPreston Gurd2013-01-087-3/+194
| | | | | | | | | | | | | | | | | | | | | | | | The current Intel Atom microarchitecture has a feature whereby when a function returns early then it is slightly faster to execute a sequence of NOP instructions to wait until the return address is ready, as opposed to simply stalling on the ret instruction until the return address is ready. When compiling for X86 Atom only, this patch will run a pass, called "X86PadShortFunction" which will add NOP instructions where less than four cycles elapse between function entry and return. It includes tests. This patch has been updated to address Nadav's review comments - Optimize only at >= O1 and don't do optimization if -Os is set - Stores MachineBasicBlock* instead of BBNum - Uses DenseMap instead of std::map - Fixes placement of braces Patch by Andy Zhang. llvm-svn: 171879
* Rename statistic for instruction fragments -> relaxableEli Bendersky2013-01-081-3/+3
| | | | llvm-svn: 171872
* Code cleanup: refactor the switch statements in the generation of reduction ↵Nadav Rotem2013-01-081-59/+28
| | | | | | variables into an IR builder call. llvm-svn: 171871
* Rename the enum members to match the LLVM coding style.Nadav Rotem2013-01-081-25/+25
| | | | llvm-svn: 171868
* Add fp128 rtlib function names to LLVMTim Northover2013-01-082-18/+138
| | | | llvm-svn: 171867
* Allow the asm printer to print fp128 values properly.Tim Northover2013-01-081-9/+12
| | | | llvm-svn: 171866
* Make sure we don't emit instructions before a landingpad instruction.Bill Wendling2013-01-081-1/+6
| | | | | | PR14782 llvm-svn: 171846
* Sink a function that refers to the SelectionDAG into that library in theChandler Carruth2013-01-082-21/+21
| | | | | | | | | | | | | | one file where it is called as a static function. Nuke the declaration and the definition in lib/CodeGen, along with the include of SelectionDAG.h from this file. There is no dependency edge from lib/CodeGen to lib/CodeGen/SelectionDAG, so it isn't valid for a routine in lib/CodeGen to reference the DAG. There is a dependency from lib/CodeGen/SelectionDAG on lib/CodeGen. This breaks one violation of this layering. llvm-svn: 171842
* Remove the llvm-local DW_TAG_vector_type tag and add a test toEric Christopher2013-01-084-8/+8
| | | | | | make sure that vector types do work. llvm-svn: 171833
* Fix comment.Eric Christopher2013-01-081-1/+2
| | | | llvm-svn: 171832
* Split changeset_ty using iterators instead of loops.Lenny Maiorani2013-01-081-6/+8
| | | | llvm-svn: 171829
OpenPOWER on IntegriCloud