summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a Create method that accepts 'kind' and 'pcadj' arguments.Bill Wendling2011-10-012-0/+10
| | | | llvm-svn: 140934
* Refactoring: Separate out the ARM constant pool Constant from the ARM constantBill Wendling2011-10-012-6/+94
| | | | | | | | pool value. It's not used right now, but will be soon. llvm-svn: 140933
* Subtarget getFeatureBits() returns a uint64_t, not unsigned.Bob Wilson2011-10-011-1/+1
| | | | llvm-svn: 140928
* Attempt to fix dynamic stack realignment for thumb1 functions. It is in fact Chad Rosier2011-10-013-7/+27
| | | | | | | | useful if an optimization assumes the stack has been realigned. Credit to Eli for his assistance. rdar://10043857 llvm-svn: 140924
* Inlining and unrolling heuristics should be aware of free truncs.Andrew Trick2011-10-016-18/+44
| | | | | | | | | | We want heuristics to be based on accurate data, but more importantly we don't want llvm to behave randomly. A benign trunc inserted by an upstream pass should not cause a wild swings in optimization level. See PR11034. It's a general problem with threshold-based heuristics, but we can make it less bad. llvm-svn: 140919
* whitespaceAndrew Trick2011-10-014-69/+69
| | | | llvm-svn: 140916
* Add Windows x64 stack walking support. Patch by Aaron Ballman!Michael J. Spencer2011-10-011-32/+190
| | | | llvm-svn: 140906
* Use precomputed BitVector for CodeGenRegisterClass::hasSubClass().Jakob Stoklund Olesen2011-09-302-8/+15
| | | | | | | All the sub-class bit vectors are computed when first creating the register bank. llvm-svn: 140905
* Filecheck-ize.Bill Wendling2011-09-301-1/+3
| | | | llvm-svn: 140904
* Add new line at end of file.Bill Wendling2011-09-301-1/+1
| | | | llvm-svn: 140903
* When inferring the pointer alignment, if the global doesn't have an initializerBill Wendling2011-09-302-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | and the alignment is 0 (i.e., it's defined globally in one file and declared in another file) it could get an alignment which is larger than the ABI allows for that type, resulting in aligned moves being used for unaligned loads. For instance, in file A.c: struct S s; In file B.c: struct { // something long }; extern S s; void foo() { struct S p = s; // ... } this copy is a 'memcpy' which is turned into a series of 'movaps' instructions on X86. But this is wrong, because 'struct S' has alignment of 4, not 16. llvm-svn: 140902
* Promote comment to doxycomment. Adjust whitespace. No functionality change.Nick Lewycky2011-09-301-4/+3
| | | | llvm-svn: 140899
* Store sub-class lists as a bit vector.Jakob Stoklund Olesen2011-09-305-94/+43
| | | | | | | | | | | | | | This uses less memory and it reduces the complexity of sub-class operations: - hasSubClassEq() and friends become O(1) instead of O(N). - getCommonSubClass() becomes O(N) instead of O(N^2). In the future, TableGen will infer register classes. This makes it cheap to add them. llvm-svn: 140898
* Extract a slightly more general BitVector printer.Jakob Stoklund Olesen2011-09-301-7/+16
| | | | | | This one can also print 32-bit groups. llvm-svn: 140897
* Move getCommonSubClass() into TRI.Jakob Stoklund Olesen2011-09-308-16/+22
| | | | | | It will soon need the context. llvm-svn: 140896
* Compute lists of super-classes in CodeGenRegisterClass.Jakob Stoklund Olesen2011-09-303-39/+43
| | | | | | | Use these lists instead of computing them on the fly in RegisterInfoEmitter. llvm-svn: 140895
* Correct for my over-eager delete finger.Jim Grosbach2011-09-301-0/+1
| | | | llvm-svn: 140892
* Add definition of MipsELFObjectWriter.Akira Hatanaka2011-09-302-0/+33
| | | | | | Patch by Reed Kotler at Mips Technologies. llvm-svn: 140891
* Register the MC object streamer.Akira Hatanaka2011-09-301-0/+18
| | | | | | Patch by Reed Kotler at Mips Technologies. llvm-svn: 140887
* Register Asm backend. Add functions to MipsAsmBackend.Akira Hatanaka2011-09-303-0/+55
| | | | | | Patch by Reed Kotler at Mips Technologies. llvm-svn: 140886
* Add MCELFObjectTargetWriter and MCAsmBackend classes.Akira Hatanaka2011-09-302-0/+72
| | | | | | Patch by Reed Kotler at Mips Technologies. llvm-svn: 140885
* Test More Complicated ListsDavid Greene2011-09-301-0/+17
| | | | | | | Test of indexing lists of lists of lists works. This also exercises some operators. llvm-svn: 140884
* Test VarListElementInit:: resolveListElementReferenceDavid Greene2011-09-301-0/+13
| | | | | | Add a TableGen test to check if indexing lists of lists works. llvm-svn: 140883
* Implement VarListElementInit:: resolveListElementReferenceDavid Greene2011-09-301-2/+10
| | | | | | | Implement VarListElementInit:: resolveListElementReference so that lists of lists can be indexed. llvm-svn: 140882
* Update CMake build.Benjamin Kramer2011-09-301-1/+2
| | | | llvm-svn: 140879
* Initial implementation of MipsMCCodeEmitter.Akira Hatanaka2011-09-303-1/+68
| | | | | | Patch by Reed Kotler at Mips Technologies. llvm-svn: 140878
* Don't modify constant in-place.Jim Grosbach2011-09-301-3/+4
| | | | llvm-svn: 140875
* Tracing or debug-printing a newly formed instruction should not crash.Andrew Trick2011-09-301-1/+2
| | | | llvm-svn: 140874
* whitespaceAndrew Trick2011-09-301-38/+38
| | | | llvm-svn: 140873
* Remove unnecessary checking of register operands.Akira Hatanaka2011-09-302-7/+7
| | | | llvm-svn: 140872
* Add definitions of Mips64 rotate instructions.Akira Hatanaka2011-09-303-2/+64
| | | | llvm-svn: 140870
* float comparison to double 'zero' constant can just be a float 'zero.'Jim Grosbach2011-09-302-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | InstCombine was incorrectly considering the conversion of the constant zero to be unsafe. We want to transform: define float @bar(float %x) nounwind readnone optsize ssp { %conv = fpext float %x to double %cmp = fcmp olt double %conv, 0.000000e+00 %conv1 = zext i1 %cmp to i32 %conv2 = sitofp i32 %conv1 to float ret float %conv2 } Into: define float @bar(float %x) nounwind readnone optsize ssp { %cmp = fcmp olt float %x, 0.000000e+00 ; <---- This %conv1 = zext i1 %cmp to i32 %conv2 = sitofp i32 %conv1 to float ret float %conv2 } rdar://10215914 llvm-svn: 140869
* Constify 'isLSDA' and move a method out-of-line.Bill Wendling2011-09-302-14/+20
| | | | llvm-svn: 140868
* Tidy up. Trailing whitespace.Jim Grosbach2011-09-301-220/+220
| | | | llvm-svn: 140865
* ARM Darwin default relocation model is PIC.Jim Grosbach2011-09-306-8/+11
| | | | | | | This matches clang, so default options in llc and friends are now closer to clang's defaults. llvm-svn: 140863
* isCommutable should be 0 for DSUBu.Akira Hatanaka2011-09-301-1/+1
| | | | llvm-svn: 140862
* ARM Fixup valus for movt/movw are for the whole value.Jim Grosbach2011-09-301-7/+0
| | | | | | | | | Remove an assert that was expecting only the relevant 16bit portion for the fixup being handled. Also kill some dead code in the T2 portion. rdar://9653509 llvm-svn: 140861
* Check values of immediate operands.Akira Hatanaka2011-09-302-11/+11
| | | | llvm-svn: 140860
* Fix a bug in compare_numeric().Jakob Stoklund Olesen2011-09-302-6/+19
| | | | | | Thanks to Alexandru Dura and Jonas Paulsson for finding it. llvm-svn: 140859
* Add forgotten tests that the cleanup flag is cleared if thereDuncan Sands2011-09-301-0/+24
| | | | | | is a catch-all landingpad clause. llvm-svn: 140858
* MCJIT initialization TargetDataDanil Malyshev2011-09-301-0/+1
| | | | llvm-svn: 140856
* PTX: Various stylistic and code readability changes recommended by Jim Grosbach.Justin Holewinski2011-09-3010-270/+65
| | | | llvm-svn: 140855
* PTX: Add programmable rounding mode specifier for int <-> fp conversion instrs.Justin Holewinski2011-09-302-124/+174
| | | | | | Also take this opportunity to clean up the rounding mode pass. llvm-svn: 140854
* Inlining often produces landingpad instructions with repeatedDuncan Sands2011-09-303-0/+495
| | | | | | | | | | | | | | catch or repeated filter clauses. Teach instcombine a bunch of tricks for simplifying landingpad clauses. Currently the code only recognizes the GNU C++ and Ada personality functions, but that doesn't stop it doing a bunch of "generic" transforms which are hopefully fine for any real-world personality function. If these "generic" transforms turn out not to be generic, they can always be conditioned on the personality function. Probably someone should add the ObjC++ personality function. I didn't as I don't know anything about it. llvm-svn: 140852
* some 3.0 API notesTorok Edwin2011-09-301-0/+18
| | | | llvm-svn: 140851
* Comment grammar fixes.Torok Edwin2011-09-301-5/+6
| | | | | | thanks to Duncan. llvm-svn: 140850
* PTX: Attempt to cleanup/unify the handling of FP rounding modes. This requiresJustin Holewinski2011-09-309-197/+471
| | | | | | us to manually provide Pat<> definitions for all FP instruction patterns. llvm-svn: 140849
* Instead of crashing when MCAsmInfo is NULL, add an assert.Torok Edwin2011-09-301-0/+5
| | | | | | | This helps with porting code from 2.9 to 3.0 as TargetSelect.h changed location, and if you include the old one by accident you will trigger this assert. llvm-svn: 140848
* Mips64 shift instructions.Akira Hatanaka2011-09-302-0/+104
| | | | llvm-svn: 140841
* Mips64 arithmetic and logical instructions with one source register andAkira Hatanaka2011-09-302-0/+66
| | | | | | immediate. llvm-svn: 140839
OpenPOWER on IntegriCloud