summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Initialize CompactUnwindSection so that other targets won't use an ↵Bill Wendling2011-08-291-1/+2
| | | | | | uninitialized value. llvm-svn: 138752
* Expand ATOMIC_LOAD and ATOMIC_STORE for architectures I don't know well ↵Eli Friedman2011-08-294-0/+10
| | | | | | enough to fix properly. llvm-svn: 138751
* Dump with dbgs() instead of printf.Benjamin Kramer2011-08-291-5/+4
| | | | llvm-svn: 138749
* Make GCC happy by adding parens.Benjamin Kramer2011-08-291-2/+2
| | | | llvm-svn: 138748
* Update the load-store optimizer for changes to the operands on LDR_PRE_IMM ↵Owen Anderson2011-08-291-4/+10
| | | | | | and LDRB_PRE_IMM in r138653. llvm-svn: 138746
* Move non-intruction patterns to a more appropriate place!Bruno Cardoso Lopes2011-08-291-31/+33
| | | | llvm-svn: 138744
* Add support for parsing #-0 on non-memory-operand immediate values, and add ↵Owen Anderson2011-08-291-2/+13
| | | | | | a testcase that necessitates it. llvm-svn: 138739
* Reapply r138695. Fix PassManager stack depths.Andrew Trick2011-08-294-25/+35
| | | | | | Patch by Xiaoyi Guo! llvm-svn: 138737
* Add AMDIL as valid target triple to LLVM.Tobias Grosser2011-08-291-1/+10
| | | | | | Submitted by: Villmow, Micah <Micah.Villmow@amd.com> llvm-svn: 138734
* Remove premature previous commit.Nicolas Geoffray2011-08-281-25/+7
| | | | llvm-svn: 138725
* Fix PR5329: pay attention to constructor/destructor priorityDuncan Sands2011-08-281-13/+36
| | | | | | | when outputting them. With this, the entire LLVM testsuite passes when built with dragonegg. llvm-svn: 138724
* Encoding of instructions referencing segments has changed. Do what ↵Nicolas Geoffray2011-08-281-7/+25
| | | | | | X86MCCodeEmitter does. llvm-svn: 138723
* Bitcasts are transitive. Bitcast-Bitcast-X becomes Bitcast-X.Nadav Rotem2011-08-282-0/+11
| | | | llvm-svn: 138722
* Fix integer overflow bug in raw_ostream::write. This showed up as aNick Lewycky2011-08-281-2/+2
| | | | | | non-deterministic crash in the test suite. Fixes PR10055! llvm-svn: 138717
* Silence GCC warnings and make an array const.Benjamin Kramer2011-08-272-7/+6
| | | | llvm-svn: 138706
* Report failure if there are less bytes than requested in a MemoryObject.Benjamin Kramer2011-08-271-2/+5
| | | | | | Before we just left the remaining bytes uninitialized. This is another step in making llvm valgrind-clean again. llvm-svn: 138705
* Auto upgrade the old EH scheme to use the new one. This is on a trial basis. IfBill Wendling2011-08-271-0/+3
| | | | | | things to disasterously over night, this can be reverted. llvm-svn: 138702
* Reverting r138695 to see if it fixes clang self host.Andrew Trick2011-08-274-35/+25
| | | | llvm-svn: 138701
* Only delete instructions once.Bill Wendling2011-08-271-5/+6
| | | | llvm-svn: 138700
* These splits should be done whether they are critical edges or not.Bill Wendling2011-08-271-16/+8
| | | | llvm-svn: 138697
* Fix PassManager stack depths.Andrew Trick2011-08-274-25/+35
| | | | | | Patch by Xiaoyi Guo! llvm-svn: 138695
* Improve encoding support for BLX with immediat eoperands, and fix a BLX ↵Owen Anderson2011-08-264-12/+25
| | | | | | decoding bug this uncovered. llvm-svn: 138675
* Correct encoding of BL with immediate offset.Owen Anderson2011-08-261-5/+10
| | | | llvm-svn: 138673
* ARM assembly parsing tweak for pldw.Jim Grosbach2011-08-261-3/+4
| | | | llvm-svn: 138669
* Spelling fail.Owen Anderson2011-08-261-1/+1
| | | | llvm-svn: 138667
* Thumb2 assembler parsing and encoding of IT instruction.Jim Grosbach2011-08-262-12/+136
| | | | | | | | This handles only the handling of the IT instruction itself, not the processing and validation of the instructions in the IT block. That's next, and will include encoding tests for IT itself. llvm-svn: 138665
* Update the dominator tree with the correct dominator for the new 'unwind' block.Bill Wendling2011-08-261-0/+5
| | | | llvm-svn: 138664
* Add support for generating CMPXCHG16B on x86-64 for the cmpxchg IR instruction.Eli Friedman2011-08-267-48/+94
| | | | llvm-svn: 138660
* Split the landing pad block only if it's a critical edge. Also intelligentlyBill Wendling2011-08-261-5/+21
| | | | | | split it in the other place where we're splitting critical edges. llvm-svn: 138658
* Fix ARM codegen breakage caused by r138653.Owen Anderson2011-08-261-6/+15
| | | | llvm-svn: 138657
* Whitespace and 80-col.Eric Christopher2011-08-261-40/+43
| | | | llvm-svn: 138654
* invalid-LDR_PRE-arm.txt was already passing, but for the wrong reasons. We ↵Owen Anderson2011-08-266-19/+96
| | | | | | were failing to specify enough fixed bits of LDR_PRE/LDRB_PRE, resulting in decoding conflicts. Separate them into immediate vs. register versions, allowing us to specify the necessary fixed bits. This in turn results in the test being decoded properly, and being rejected as UNPREDICTABLE rather than a hard failure. llvm-svn: 138653
* Don't sink landingpad instructions during ind-var simplification.Bill Wendling2011-08-261-0/+4
| | | | llvm-svn: 138651
* Update for feedback from Jim.Owen Anderson2011-08-261-3/+3
| | | | llvm-svn: 138642
* ARMDisassembler: Always return a size, even when disassembling fails.Benjamin Kramer2011-08-261-3/+11
| | | | | | This should fix PR10772. llvm-svn: 138636
* Support an extension of ARM asm syntax to allow immediate operands to ADR ↵Owen Anderson2011-08-263-17/+36
| | | | | | instructions. This is helpful for disassembler testing, and indeed exposed a disassembler bug that is also fixed here. llvm-svn: 138635
* Don't insert branch hint lables that are never used. Kalle Raiskila2011-08-262-23/+0
| | | | llvm-svn: 138630
* Fix PR10755 by checking for invalid predicate codes from UNPREDICTABLE t2IT ↵Owen Anderson2011-08-261-0/+2
| | | | | | | | instructions when decoding their successors. This is the last disassembly crash detected by exhaustive Thumb2 instruction space. Major thanks to Chandler Carruth for making this kind of exhaustive testing possible. llvm-svn: 138625
* Fix disassembling of VCVTSD2SICraig Topper2011-08-261-10/+4
| | | | llvm-svn: 138623
* LoopInfo::updateUnloop fix, and verify Block->Loop maps.Andrew Trick2011-08-261-2/+13
| | | | | | Fixes an oversight, and adds verification to catch it in the unloop.ll tests. llvm-svn: 138622
* Atomic load/store on ARM/Thumb.Eli Friedman2011-08-265-5/+90
| | | | | | | | | | | | I don't really like the patterns, but I'm having trouble coming up with a better way to handle them. I plan on making other targets use the same legalization ARM-without-memory-barriers is using... it's not especially efficient, but if anyone cares, it's not that hard to fix for a given target if there's some better lowering. llvm-svn: 138621
* Address review comments.Benjamin Kramer2011-08-261-9/+8
| | | | | | | | - Reword comments. - Allow undefined behavior interfering with undefined behavior. - Add address space checks. llvm-svn: 138619
* SimplifyCFG: If we have a PHI node that can evaluate to NULL and do a load ↵Benjamin Kramer2011-08-261-0/+69
| | | | | | | | | | or store to the address returned by the PHI node then we can consider this incoming value as dead and remove the edge pointing there, unless there are instructions that can affect control flow executed in between. In theory this could be extended to other instructions, eg. division by zero, but it's likely that it will "miscompile" some code because people depend on div by zero not trapping. NULL pointer dereference usually leads to a crash so we should be on the safe side. This shrinks the size of a Release clang by 16k on x86_64. llvm-svn: 138618
* Look at only the terminators of the basic block. Also, if we're using the new EHBill Wendling2011-08-251-5/+9
| | | | | | | scheme, return 'true' so that it doesn't try to run the old EH scheme's fixup on the new code. llvm-svn: 138605
* Initial check in that will auto-upgrade the old EH scheme to the new EH scheme.Bill Wendling2011-08-251-0/+201
| | | | | | | | | | This upgrade suffers from the problems of the old EH scheme - i.e., that the calls to llvm.eh.exception() and llvm.eh.selector() can wander off and get lost. It makes a valiant effort to reclaim these little lost lambs. This is a first draft, so it hasn't yet been hooked up to the parser. llvm-svn: 138602
* Do the same as r138461. Mark VZEROALL as clobbering all YMM registersBruno Cardoso Lopes2011-08-251-4/+3
| | | | llvm-svn: 138592
* Remove stray fullstop.Nick Lewycky2011-08-251-1/+1
| | | | llvm-svn: 138589
* Add support for AVX 256-bit version of MOVDDUP!Bruno Cardoso Lopes2011-08-252-0/+47
| | | | llvm-svn: 138588
* Make isMOVDDUP mask check more strict and update comments!Bruno Cardoso Lopes2011-08-251-2/+7
| | | | llvm-svn: 138587
* Port over additional encoding tests to decoding tests, and fix an operand ↵Owen Anderson2011-08-251-1/+1
| | | | | | ordering bug this exposed. llvm-svn: 138575
OpenPOWER on IntegriCloud