summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* More Thumb encodings.Bill Wendling2010-11-211-25/+82
| | | | llvm-svn: 119940
* Add encoding for ARM "trap" instruction.Bill Wendling2010-11-211-4/+1
| | | | llvm-svn: 119938
* The "trap" instruction is one of this which doesn't have a condition code. HackBill Wendling2010-11-211-2/+5
| | | | | | the code to not add a "condition code" if it's trap. llvm-svn: 119937
* - Give "trap" the correct encoding, at least according to Darwin's assembler.Bill Wendling2010-11-211-3/+10
| | | | | | - Add comments saying where the encodings for other instructions came from. llvm-svn: 119936
* apply Dan's fix for PR8268 which allows constant folding to handle indexes overChris Lattner2010-11-211-7/+15
| | | | | | | | | | | zero sized elements. This allows us to compile: #include <string> void foo() { std::string s; } into an empty function. llvm-svn: 119933
* implement PR8524, apparently mainline gas accepts movq as an alias for movdChris Lattner2010-11-211-0/+4
| | | | | | when transfering between i64 gprs and mmx regs. llvm-svn: 119931
* rework some DSE paths to use the newly-public "getPointerDependencyFrom"Chris Lattner2010-11-211-46/+37
| | | | | | | method in MemDep instead of inserting an instruction, doing a query, then removing it. Neither operation is effectively cached. llvm-svn: 119930
* add "getLocation" method to AliasAnalysis for getting the source andChris Lattner2010-11-211-0/+23
| | | | | | | | destination location of a memcpy/memmove. I'm not clear about whether TBAA works on these, so I'm leaving it out for now. Dan, please revisit this when convenient. llvm-svn: 119928
* implement PR8576, deleting dead stores with intervening may-alias stores.Chris Lattner2010-11-212-5/+24
| | | | llvm-svn: 119927
* add some random notes.Chris Lattner2010-11-211-2/+33
| | | | llvm-svn: 119925
* Use by-name rather than by-order operand matching for some NEON encodings.Owen Anderson2010-11-211-34/+34
| | | | llvm-svn: 119923
* optimize:Chris Lattner2010-11-212-10/+72
| | | | | | | | | void a(int x) { if (((1<<x)&8)==0) b(); } into "x != 3", which occurs over 100 times in 403.gcc but in no other program in llvm-test. llvm-svn: 119922
* tail calls on x86 are implemented.Chris Lattner2010-11-211-16/+0
| | | | llvm-svn: 119920
* BR_JTadd is ARM-only, so use the proper pseudo class to get the predicate.Jim Grosbach2010-11-211-1/+1
| | | | llvm-svn: 119918
* Handle PCRel relocations with absolute values. Fixes PR8656.Rafael Espindola2010-11-211-9/+23
| | | | llvm-svn: 119917
* Implement PR8644: forwarding a memcpy value to a byval,Chris Lattner2010-11-211-44/+127
| | | | | | | | | | | | allowing the memcpy to be eliminated. Unfortunately, the requirements on byval's without explicit alignment are really weak and impossible to predict in the mid-level optimizer, so this doesn't kick in much with current frontends. The fix is to change clang to set alignment on all byval arguments. llvm-svn: 119916
* A few more thumb instruction MC encodings.Bill Wendling2010-11-201-16/+38
| | | | llvm-svn: 119913
* Rewrite address handling to use a structure with all the possible addressEric Christopher2010-11-201-11/+76
| | | | | | mode variables. Handle frame indexes in load/store and allocas again. llvm-svn: 119912
* STRH only needs the additional operand, not t2STRH. Also invert conditionalEric Christopher2010-11-201-9/+5
| | | | | | to match the one from the load emitter above. llvm-svn: 119911
* Simplify code. No change in functionality.Benjamin Kramer2010-11-205-15/+11
| | | | llvm-svn: 119908
* Make this compile on case-sensitive file systemswAnton Korobeynikov2010-11-201-2/+2
| | | | llvm-svn: 119905
* Move some more hooks to TargetFrameInfoAnton Korobeynikov2010-11-2016-176/+191
| | | | llvm-svn: 119904
* Silence Release build warnings about unused functions.Benjamin Kramer2010-11-201-0/+2
| | | | llvm-svn: 119903
* On X86, MEMBARRIER, MFENCE, SFENCE, LFENCE are not target memory intrinsics,Duncan Sands2010-11-202-15/+52
| | | | | | | | | | | so don't claim they are. They are allocated using DAG.getNode, so attempts to access MemSDNode fields results in reading off the end of the allocated memory. This fixes crashes with "llc -debug" due to debug code trying to print MemSDNode fields for these barrier nodes (since the crashes are not deterministic, use valgrind to see this). Add some nasty checking to try to catch this kind of thing in the future. llvm-svn: 119901
* Removing the useless test that I added recently. It was meant as an example, ↵Andrew Trick2010-11-201-3/+6
| | | | | | but not complicated enough to merit another test. llvm-svn: 119898
* RABasic fix. Regalloc is responsible for updating block live ins.Andrew Trick2010-11-201-0/+30
| | | | llvm-svn: 119896
* Whitespace.Andrew Trick2010-11-201-20/+20
| | | | llvm-svn: 119895
* Add more Thumb add instruction encodings.Bill Wendling2010-11-201-12/+47
| | | | llvm-svn: 119883
* Add Thumb encodings for some add instructions.Bill Wendling2010-11-201-6/+26
| | | | llvm-svn: 119882
* Add more encodings for Thumb instructions.Bill Wendling2010-11-201-15/+30
| | | | llvm-svn: 119881
* Have the getAddrMode3OpValue() function in ARMCodeEmitter.cpp produce the sameBill Wendling2010-11-201-9/+21
| | | | | | value that the one in ARMMCCodeEmitter.cpp does. llvm-svn: 119878
* Check for _setjmp too, because it's also used.Bill Wendling2010-11-201-0/+1
| | | | llvm-svn: 119875
* Fix ARM LDR* post-indexed operand encoding.Jim Grosbach2010-11-191-5/+5
| | | | llvm-svn: 119869
* Encodings for the compare instructions.Bill Wendling2010-11-191-8/+19
| | | | llvm-svn: 119868
* The Vm and Vn register fields must be the same for a register-register vmov.Owen Anderson2010-11-191-2/+6
| | | | llvm-svn: 119867
* Fix a cut-n-paste-error.Evan Cheng2010-11-191-1/+1
| | | | llvm-svn: 119866
* Document the new GVN number table structure.Owen Anderson2010-11-191-0/+12
| | | | llvm-svn: 119865
* Operand namesJim Grosbach2010-11-191-4/+4
| | | | llvm-svn: 119864
* trailing whitespaceJim Grosbach2010-11-191-16/+16
| | | | llvm-svn: 119863
* Don't need to save piecemeal now.Eric Christopher2010-11-191-4/+2
| | | | llvm-svn: 119862
* Update comment.Eric Christopher2010-11-191-3/+2
| | | | llvm-svn: 119861
* Add encodings for some of the thumb ADD instructions. Tests will come once theBill Wendling2010-11-191-16/+44
| | | | | | asm parser can handle them. llvm-svn: 119860
* Update comment.Eric Christopher2010-11-191-1/+1
| | | | llvm-svn: 119859
* Clarify operand names.Jim Grosbach2010-11-191-3/+3
| | | | llvm-svn: 119858
* Refactor address mode handling into a single struct (ala x86), thisEric Christopher2010-11-191-50/+72
| | | | | | | | should give allow a wider range of addressing modes. No functional change. llvm-svn: 119856
* Fix encoding for ARM MLS instruction.Jim Grosbach2010-11-191-3/+5
| | | | llvm-svn: 119855
* When folding addressing modes in CodeGenPrepare, attempt to look through PHI ↵Owen Anderson2010-11-191-3/+29
| | | | | | | | | nodes if all the operands of the PHI are equivalent. This allows CodeGenPrepare to undo unprofitable PRE transforms. llvm-svn: 119853
* Add ARM encoding information for STRD.Jim Grosbach2010-11-192-17/+4
| | | | llvm-svn: 119852
* Shuffle things around a bit to keep like things together. Tidy up formatting.Jim Grosbach2010-11-191-20/+20
| | | | llvm-svn: 119851
* Revert accidental commit.Bill Wendling2010-11-191-3/+4
| | | | llvm-svn: 119850
OpenPOWER on IntegriCloud