summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Reduce the size of the ExtInfo bitfield in FunctionType from 9 bitsDouglas Gregor2011-06-272-12/+19
| | | | | | | | down to 8 by restricting the maximum allowed regparm value to 6 (previously it was 7). I need the extra bit in Type to handle instantiation-dependence. llvm-svn: 133924
* The index stored in the RegDefIter is one after the current index. When ↵Owen Anderson2011-06-271-1/+1
| | | | | | getting the index, decrement it so that it points to the current element. Fixes an off-by-one bug encountered when trying to make use of MVT::untyped. llvm-svn: 133923
* Merge XXXGenRegisterDesc.inc XXXGenRegisterNames.inc XXXGenRegisterInfo.h.incEvan Cheng2011-06-2771-256/+295
| | | | | | into XXXGenRegisterInfo.inc. llvm-svn: 133922
* Simplified Makefile.Johnny Chen2011-06-271-123/+4
| | | | llvm-svn: 133921
* Move sample objc program to reside under lang/objc.Johnny Chen2011-06-272-0/+0
| | | | llvm-svn: 133920
* Move top level test dirs platform and inferior-crashing to reside under ↵Johnny Chen2011-06-279-5/+5
| | | | | | functionalities and order to reside under macosx. llvm-svn: 133919
* Move top level test dirs inlined_breakpoints, load_unload, and ↵Johnny Chen2011-06-2715-5/+5
| | | | | | embedded_interpreter to reside under functionalities. llvm-svn: 133918
* pre-RA-sched: Cleanup register pressure tracking.Andrew Trick2011-06-272-16/+4
| | | | | | | | Removed the check that peeks past EXTRA_SUBREG, which I don't think makes sense any more. Intead treat it as a normal register def. No significant affect on x86 or ARM benchmarks. llvm-svn: 133917
* Move all inline-asm-fpstack tests to a single file.Jakob Stoklund Olesen2011-06-275-83/+77
| | | | | | | | | | Also fix some of the tests that were actually testing wrong behavior - An input operand in {st} is only popped by the inline asm when {st} is also in the clobber list. The original bug reports all had ~{st} clobbers as they should. llvm-svn: 133916
* When instantiating a C++ "new" expression, don't fake source locationsDouglas Gregor2011-06-272-2/+19
| | | | | | | | for the '(' and ')' around the initializer unless we actually have an initializer. Fixes PR10197, an issue where we were value-initializing rather than default-initializing. llvm-svn: 133913
* Cleanup a fixme by using a specific diagnostic for subscriptingChandler Carruth2011-06-273-4/+5
| | | | | | a pointer to void. llvm-svn: 133912
* Improve header search for MinGW(-w64), from Ruben Van Boxem!Douglas Gregor2011-06-271-27/+39
| | | | llvm-svn: 133911
* Track live-out physical registers in MachineDCE.Jakob Stoklund Olesen2011-06-271-3/+8
| | | | | | Patch by Sanjoy Das! llvm-svn: 133910
* Fix missing braces around two statements that were intended to be partChandler Carruth2011-06-272-1/+9
| | | | | | | | | | | of a single if block. This is really annoying to track down and test. Silly changes to the test case caused it to stop showing up. I wish there were a more concrete way of asserting that a note attaches to the intended diagnostic. This fixes PR10195. llvm-svn: 133907
* Factor out (some of) the checking for invalid forms of pointerChandler Carruth2011-06-2710-154/+182
| | | | | | | | | | | | | | | | | | | arithmetic into a couple of common routines. Use these to make the messages more consistent in the various contexts, especially in terms of consistently diagnosing binary operators with invalid types on both the left- and right-hand side. Also, improve the grammar and wording of the messages some, handling both two pointers and two (different) types. The wording of function pointer arithmetic diagnostics still strikes me as poorly phrased, and I worry this makes them slightly more awkward if more consistent. I'm hoping to fix that with a follow-on patch and test case that will also make them more helpful when a typedef or template type parameter makes the type completely opaque. Suggestions on better wording are very welcome, thanks to Richard Smith for some initial help on that front. llvm-svn: 133906
* Teach one piece of scalarrepl to handle lifetime markers. When transforming anNick Lewycky2011-06-272-13/+51
| | | | | | | | alloca that only holds a copy of a global and we're going to replace the users of the alloca with that global, just nuke the lifetime intrinsics. Part of PR10121. llvm-svn: 133905
* Move onlyUsedByLifetimeMarkers to ValueTracking so that it can be used by otherNick Lewycky2011-06-273-16/+21
| | | | | | passes as well. llvm-svn: 133904
* Grow the X86FloatingPoint register map to hold 16 registers.Jakob Stoklund Olesen2011-06-271-5/+15
| | | | | | | This allows for more live scratch registers which is needed to handle live ST registers before return and inline asm instructions. llvm-svn: 133903
* Distinguish early clobber output operands from clobbered registers.Jakob Stoklund Olesen2011-06-276-13/+26
| | | | | | | | | | | | | | | | | | | | | | Both become <earlyclobber> defs on the INLINEASM MachineInstr, but we now use two different asm operand kinds. The new Kind_Clobber is treated identically to the old Kind_RegDefEarlyClobber for now, but x87 floating point stack inline assembly does care about the difference. This will pop a register off the stack: asm("fstp %st" : : "t"(x) : "st"); While this will pop the input and push an output: asm("fst %st" : "=&t"(r) : "t"(x)); We need to know if ST0 was a clobber or an output operand, and we can't depend on <dead> flags for that. llvm-svn: 133902
* Decode and pretty print inline asm operand descriptors.Jakob Stoklund Olesen2011-06-271-1/+22
| | | | | | | | | | The INLINEASM MachineInstrs have an immediate operand describing each original inline asm operand. Decode the bits in MachineInstr::print() so it is easier to read: INLINEASM <es:rorq $1,$0>, $0:[regdef], %vreg0<def>, %vreg1<def>, $1:[imm], 1, $2:[reguse] [tiedto:$0], %vreg2, %vreg3, $3:[regdef-ec], %EFLAGS<earlyclobber,imp-def> llvm-svn: 133901
* Remove unused methods.Rafael Espindola2011-06-261-13/+0
| | | | llvm-svn: 133900
* There is only one register coalescer. Merge it into the base class andRafael Espindola2011-06-2611-208/+154
| | | | | | remove the analysis group. llvm-svn: 133899
* Fix PR10187: when diagnosing a two-phase-lookup-related failure, don't ↵Richard Smith2011-06-262-8/+42
| | | | | | assert that any names we find are valid candidates for the call. llvm-svn: 133898
* Merge SimpleRegisterCoalescing.cpp into RegisterCoalescer.cpp.Rafael Espindola2011-06-263-1541/+1523
| | | | llvm-svn: 133897
* merge SimpleRegisterCoalescing.h into RegisterCoalescer.h.Rafael Espindola2011-06-264-156/+129
| | | | llvm-svn: 133896
* Move RegisterCoalescer.h to lib/CodeGen.Rafael Espindola2011-06-269-9/+9
| | | | llvm-svn: 133895
* Move more top level test dirs to reside under functionalities dir.Johnny Chen2011-06-2618-9/+9
| | | | llvm-svn: 133894
* A couple of directory renamings; get rid of 'tests' from the directory names.Johnny Chen2011-06-267-2/+2
| | | | llvm-svn: 133893
* Move some top level directories to reside under functionalities dir.Johnny Chen2011-06-2622-14/+14
| | | | llvm-svn: 133892
* Create new directory named 'functionalities' to house some existing top ↵Johnny Chen2011-06-260-0/+0
| | | | | | level directories. llvm-svn: 133891
* Move hello_world to now reside under python_api dir.Johnny Chen2011-06-263-2/+2
| | | | llvm-svn: 133890
* Simplified the test cases, before moving the file to reside under python_api ↵Johnny Chen2011-06-261-30/+9
| | | | | | dir. llvm-svn: 133889
* Remove unnecessary wrapper.Rafael Espindola2011-06-262-27/+17
| | | | llvm-svn: 133886
* Move struct_types, stepping, and set_values dirs to now reside under lang/c.Johnny Chen2011-06-2515-9/+9
| | | | | | Move stl dir to now reside under lang/cpp. llvm-svn: 133884
* Move global_variables dir to lang/c and foundation dir to lang/objc.Johnny Chen2011-06-2515-8/+8
| | | | llvm-svn: 133883
* Move test dirs forward and function_types to now reside under lang/c.Johnny Chen2011-06-259-4/+4
| | | | llvm-svn: 133882
* Move some directories to now reside under lang/c or lang/cpp.Johnny Chen2011-06-2525-19/+19
| | | | llvm-svn: 133881
* Move enum_types to now reside under lang/c.Johnny Chen2011-06-253-2/+2
| | | | llvm-svn: 133880
* Move namespace directory to now reside under lang/cpp.Johnny Chen2011-06-254-2/+2
| | | | llvm-svn: 133879
* Move C++-related test directories to now reside under lang.Johnny Chen2011-06-256-4/+4
| | | | llvm-svn: 133878
* Move objc-related test directories to now reside under lang/objc.Johnny Chen2011-06-2514-8/+8
| | | | llvm-svn: 133877
* Start moving things around to have a more hierarchical directory structure.Johnny Chen2011-06-252-1/+1
| | | | llvm-svn: 133876
* PTX: corrected tests that were failingDan Bailey2011-06-252-6/+6
| | | | llvm-svn: 133875
* Replace dyn_cast<> with cast<> since the cast is already guarded by the ↵Chad Rosier2011-06-251-1/+1
| | | | | | necessary check. llvm-svn: 133874
* PTX: Reverting implementation of i8.Dan Bailey2011-06-2511-546/+73
| | | | | | | | The .b8 operations in PTX are far more limiting than I first thought. The mov operation isn't even supported, so there's no way of converting a .pred value into a .b8 without going via .b16, which is not sensible. An improved implementation needs to use the fact that loads and stores automatically extend and truncate to implement support for EXTLOAD and TRUNCSTORE in order to correctly support boolean values. llvm-svn: 133873
* Object: Add proper error handling.Michael J. Spencer2011-06-2510-273/+565
| | | | llvm-svn: 133872
* Modify llvm-nm to use new Binary creation method.Michael J. Spencer2011-06-251-5/+5
| | | | llvm-svn: 133871
* Make Binary the parent of ObjectFile and update children to new interface.Michael J. Spencer2011-06-259-170/+222
| | | | llvm-svn: 133870
* Add Binary class. This is a cleaner parent than ObjectFile.Michael J. Spencer2011-06-253-0/+115
| | | | llvm-svn: 133869
* Add Object/Error.Michael J. Spencer2011-06-253-0/+105
| | | | llvm-svn: 133868
OpenPOWER on IntegriCloud