summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Now that PassInfo and Pass::ID have been separated, move the rest of the ↵Owen Anderson2010-08-2323-59/+54
| | | | | | passes over to the new registration API. llvm-svn: 111815
* random improvement for variable shift codegen.Chris Lattner2010-08-231-2/+14
| | | | llvm-svn: 111813
* Fix some GCC warnings by providing a virtual destructor in the base of a classChandler Carruth2010-08-231-1/+1
| | | | | | | hierarchy with virtual methods and using llvm_unreachable to properly indicate unreachable states which would otherwise leave variables uninitialized. llvm-svn: 111803
* Revert invalid r111792. Jump tables are not broken on x86-64 / coff,Anton Korobeynikov2010-08-231-6/+0
| | | | | | | it's COFF emitter which does not support differences of two symbols (and needs to be fixed). GAS is pretty fine with code produced. llvm-svn: 111801
* Revert part of my last commit. the mingw32 build bot doesn't seem to like it.Michael J. Spencer2010-08-231-1/+0
| | | | llvm-svn: 111793
* Workaround broken jump tables on x86-64 COFF.Michael J. Spencer2010-08-232-0/+7
| | | | llvm-svn: 111792
* remove some dead code.Chris Lattner2010-08-231-246/+0
| | | | llvm-svn: 111791
* Verify the predicates on icmp/fcmp. Suggested by Jeff Yasskin!Nick Lewycky2010-08-221-6/+15
| | | | llvm-svn: 111787
* Delete dead comment.Eli Friedman2010-08-211-2/+1
| | | | llvm-svn: 111744
* Use rip-rel addressing on win64 by default. For this we justAnton Korobeynikov2010-08-212-15/+19
| | | | | | defaults to small pic code model. llvm-svn: 111741
* Use MDNode::destroy(). Fixes a delete/free mismatch.Benjamin Kramer2010-08-211-3/+1
| | | | llvm-svn: 111739
* MC: Add partial x86-64 support to COFF.Michael J. Spencer2010-08-213-21/+56
| | | | llvm-svn: 111728
* Add an assert to MDNode::deleteTemporary check that the node being deletedDan Gohman2010-08-211-1/+3
| | | | | | is not non-temporary. llvm-svn: 111713
* Fix x86 fast-isel's cmp+branch folding to avoid folding when theDan Gohman2010-08-211-2/+4
| | | | | | | | comparison is in a different basic block from the branch. In such cases, the comparison's operands may not have initialized virtual registers available. llvm-svn: 111709
* Prepare LowerVECTOR_SHUFFLEv8i16 to use x86 target specific nodes directlyBruno Cardoso Lopes2010-08-212-7/+12
| | | | llvm-svn: 111704
* This is the first step towards refactoring the x86 vector shuffle code. TheBruno Cardoso Lopes2010-08-204-0/+493
| | | | | | | | | | | | general idea here is to have a group of x86 target specific nodes which are going to be selected during lowering and then directly matched in isel. The commit includes the addition of those specific nodes and a *bunch* of patterns, and incrementally we're going to switch between them and what we have right now. Both the patterns and target specific nodes can change as we move forward with this work. llvm-svn: 111691
* CreateTemporaryType doesn't needs its Context argument.Dan Gohman2010-08-201-1/+1
| | | | llvm-svn: 111687
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-2011-20/+52
| | | | | | | | | | | It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
* Introduce a new temporary MDNode concept. Temporary MDNodes areDan Gohman2010-08-204-10/+45
| | | | | | | | not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. llvm-svn: 111681
* Fix --disable-threads build, PR7949.Daniel Dunbar2010-08-201-0/+1
| | | | llvm-svn: 111676
* Downwards growing stack allocation order reverses relative offsetsJim Grosbach2010-08-201-1/+10
| | | | llvm-svn: 111673
* Add more dbg outputJim Grosbach2010-08-201-0/+1
| | | | llvm-svn: 111670
* Update CMake build.Benjamin Kramer2010-08-201-1/+0
| | | | llvm-svn: 111669
* Re-apply r111568 with a fix for the clang self-host.Owen Anderson2010-08-201-0/+47
| | | | llvm-svn: 111665
* Delete SlowOperationInformer, which is no longer used.Dan Gohman2010-08-201-67/+0
| | | | llvm-svn: 111661
* Convert DbgInfoPrinter to use errs() instead of outs().Dan Gohman2010-08-201-1/+1
| | | | llvm-svn: 111659
* properly check for whether base regs were insertedJim Grosbach2010-08-201-4/+7
| | | | llvm-svn: 111646
* Make outs() close its file when its stream is destructed, so thatDan Gohman2010-08-201-2/+4
| | | | | | pending output errors are detected. llvm-svn: 111643
* Delete raw_stdout_ostream and raw_stderr_ostream, which are unusedDan Gohman2010-08-201-12/+4
| | | | | | | outside of outs() and errs() themselves, and they don't really need custom classes. llvm-svn: 111642
* Move raw_ostream's Error flag into raw_fd_ostream, as that's the onlyDan Gohman2010-08-201-16/+17
| | | | | | class which is using it. llvm-svn: 111639
* Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.Erick Tryzelaar2010-08-201-0/+8
| | | | llvm-svn: 111625
* llvmc: Cut global namespace pollution.Mikhail Glushenkov2010-08-201-1/+3
| | | | llvm-svn: 111619
* Replace the arm.neon.vmovls and vmovlu intrinsics with vector sign-extend andBob Wilson2010-08-203-20/+51
| | | | | | zero-extend operations. llvm-svn: 111614
* Introduce a new tool_output_file class, which extends raw_ostream withDan Gohman2010-08-202-0/+31
| | | | | | | | functionality that most command-line tools need: ensuring that the output file gets deleted if the tool is interrupted or encounters an error. llvm-svn: 111595
* Fix loop conditionals (MO.isDef() asserts that it's a reg) andEric Christopher2010-08-201-1/+2
| | | | | | move some constraints around. llvm-svn: 111594
* Add a couple of random comments.Eric Christopher2010-08-201-0/+3
| | | | llvm-svn: 111592
* If the target says that an extending load is not legal, regardless of whetherBob Wilson2010-08-191-7/+12
| | | | | | | | | | | it involves specific floating-point types, legalize should expand an extending load to a non-extending load followed by a separate extend operation. For example, we currently expand SEXTLOAD to EXTLOAD+SIGN_EXTEND_INREG (and assert that EXTLOAD should always be supported). Now we can expand that to LOAD+SIGN_EXTEND. This is needed to allow vector SIGN_EXTEND and ZERO_EXTEND to be used for NEON. llvm-svn: 111586
* Better handling of offsets on frame index references. rdar://8277890Jim Grosbach2010-08-193-16/+86
| | | | llvm-svn: 111585
* CrashRecovery/Darwin: On Darwin, raise sends a signal to the main thread insteadDaniel Dunbar2010-08-191-0/+34
| | | | | | | | | of the current thread. This has the unfortunate effect that assert() and abort() will end up bypassing our crash recovery attempts. We work around this for anything in the same linkage unit by just defining our own versions of the assert handler and abort. llvm-svn: 111583
* Update debug logs.Evan Cheng2010-08-191-4/+4
| | | | llvm-svn: 111575
* Properly update MachineDominators when splitting critical edge.Evan Cheng2010-08-191-2/+25
| | | | llvm-svn: 111574
* Revert r111568 to unbreak clang self-host.Owen Anderson2010-08-191-45/+0
| | | | llvm-svn: 111571
* When a set of bitmask operations, typically from a bitfield initialization, ↵Owen Anderson2010-08-191-0/+45
| | | | | | | | only modifies the low bytes of a value, we can narrow the store to only over-write the affected bytes. llvm-svn: 111568
* Disable LVI while I evaluate a failure.Owen Anderson2010-08-191-1/+1
| | | | llvm-svn: 111551
* Tentatively enabled LVI by default. I'll be monitoring for any failures.Owen Anderson2010-08-191-1/+1
| | | | llvm-svn: 111543
* Correct header.Bill Wendling2010-08-191-1/+1
| | | | llvm-svn: 111540
* It's possible to sink a def if its local uses are PHI's.Evan Cheng2010-08-191-5/+5
| | | | llvm-svn: 111537
* Fix the msvc 2010 build.Michael J. Spencer2010-08-191-2/+19
| | | | | | | | | | | | | | The Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 implements parts of C++0x based on the draft standard. An old version of the draft had a bug that makes std::pair<T1*, T2*>(something, 0) fail to compile. This is because the template<class U, class V> pair(U&& x, V&& y) constructor is selected, even though it later fails to implicitly convert U and V to frist_type and second_type. This has been fixed in n3090, but it seems that Microsoft is not going to update msvc. llvm-svn: 111535
* Do not assert when reading an exponent out of range.Dale Johannesen2010-08-191-0/+1
| | | | llvm-svn: 111534
* Add Thumb1 support for virtual frame indices.Jim Grosbach2010-08-193-132/+160
| | | | | | rdar://8277890 llvm-svn: 111533
OpenPOWER on IntegriCloud