- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45419
-
Chris Lattner authored
llvm-svn: 45414
-
- Dec 17, 2007
-
-
Christopher Lamb authored
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. llvm-svn: 45082
-
- Dec 14, 2007
-
-
Bill Wendling authored
side effects for machine instructions. llvm-svn: 45022
-
- Dec 13, 2007
-
-
Evan Cheng authored
llvm-svn: 44969
-
- Dec 03, 2007
-
-
Duncan Sands authored
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
-
- Nov 27, 2007
-
-
Chuck Rose III authored
Add TGParser files to VStudio project files. Removed generated files section from TableGen project file as it is no longer needed. #Include <algorithm> directly from TGParser.cpp so it can see std::reverse. llvm-svn: 44340
-
- Nov 23, 2007
-
-
Chris Lattner authored
llvm-svn: 44282
-
- Nov 22, 2007
-
-
Chris Lattner authored
llvm-svn: 44277
-
Chris Lattner authored
print in terms of that. llvm-svn: 44276
-
Chris Lattner authored
llvm-svn: 44275
-
Chris Lattner authored
This makes the parser much easier to understand, eliminates a ton of global variables, and gives tblgen nice caret diagnostics. It is also faster, but tblgen probably doesn't care about performance. There are a couple of FIXMEs which I will take care of next. llvm-svn: 44274
-
- Nov 21, 2007
-
-
Chuck Rose III authored
llvm-svn: 44264
-
Chuck Rose III authored
I added the lexing files to the VStudio projects and removed the .l files from the VStudio projects. There was a problem with use of strtoll in TGLexer.cpp and Chris suggested switching to strtol, so that's included here. Additionally, this checkin adds minimal x64 builds to the VStudio builds. Build issues related to x64 in the windows specific files for DynamicLibrary.inc and Singals.inc are worked around, but not ultimately solved. Binaries used to be stored in ...\win32\{Debug|Release} but are now kept in ...\win32\bin\{win32|x64}\{Debug|Release} intermediate files will continue to be stored in the individual project directories under win32. Some names will likely change in the future to reflect that the vstudio projects are no longer 32-bit only, but I wanted to get things up and running today so kept away from bigger restructuring. llvm-svn: 44260
-
- Nov 20, 2007
-
-
Chris Lattner authored
llvm-svn: 44257
-
- Nov 19, 2007
-
-
Chris Lattner authored
llvm-svn: 44227
-
Chris Lattner authored
llvm-svn: 44226
-
- Nov 18, 2007
-
-
Chris Lattner authored
llvm-svn: 44212
-
Chris Lattner authored
llvm-svn: 44211
-
Chris Lattner authored
one dependency on flex and gets rid of two ".cvs" files. llvm-svn: 44210
-
- Nov 14, 2007
-
-
Duncan Sands authored
in favour of teaching CCAssignToStack that size 0 and/or align 0 means to use the ABI values. This seems a neater solution. It is safe since no legal value type has size 0. llvm-svn: 44107
-
- Nov 13, 2007
-
-
Dale Johannesen authored
to use different mappings for EH and debug info; no functional change yet. Fix warning in X86CodeEmitter. llvm-svn: 44056
-
- Nov 12, 2007
-
-
Owen Anderson authored
Target maintainers: please check that the instructions for your target are correctly marked. llvm-svn: 44012
-
Owen Anderson authored
llvm-svn: 44001
-
- Nov 11, 2007
-
-
Anton Korobeynikov authored
This makes DwarfRegNum to accept list of numbers instead. Added three different "flavours", but only slightly tested on x86-32/linux. Please check another subtargets if possible, llvm-svn: 43997
-
Anton Korobeynikov authored
llvm-svn: 43993
-
- Nov 10, 2007
-
-
Dale Johannesen authored
dealing with types whose size & alignment are different on different subtargets. Use it for x86 f80. llvm-svn: 43988
-
- Nov 07, 2007
-
-
Dale Johannesen authored
Much improvement in exception handling. llvm-svn: 43794
-
- Nov 02, 2007
-
-
Neil Booth authored
Restore an assertion that arithmetic can be performed on this format. llvm-svn: 43638
-
- Oct 24, 2007
-
-
Chris Lattner authored
the one that takes an operand list instead of explicit operands. There is one left though, the more interesting one :) llvm-svn: 43290
-
- Oct 18, 2007
-
-
Chris Lattner authored
llvm-svn: 43126
-
- Oct 17, 2007
-
-
Gordon Henriksen authored
llvm-svn: 43095
-
Gordon Henriksen authored
llvm-svn: 43094
-
Hartmut Kaiser authored
Silenced some VC warnings. I'm getting linker errors, though: unresolved externals: llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *) and llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *) Where are these defined? llvm-svn: 43073
-
- Oct 15, 2007
-
-
Chris Lattner authored
take a deleted nodes vector, instead of requiring it. One more significant change: Implement the start of a legalizer that just works on types. This legalizer is designed to run before the operation legalizer and ensure just that the input dag is transformed into an output dag whose operand and result types are all legal, even if the operations on those types are not. This design/impl has the following advantages: 1. When finished, this will *significantly* reduce the amount of code in LegalizeDAG.cpp. It will remove all the code related to promotion and expansion as well as splitting and scalarizing vectors. 2. The new code is very simple, idiomatic, and modular: unlike LegalizeDAG.cpp, it has no 3000 line long functions. :) 3. The implementation is completely iterative instead of recursive, good for hacking on large dags without blowing out your stack. 4. The implementation updates nodes in place when possible instead of deallocating and reallocating the entire graph that points to some mutated node. 5. The code nicely separates out handling of operations with invalid results from operations with invalid operands, making some cases simpler and easier to understand. 6. The new -debug-only=legalize-types option is very very handy :), allowing you to easily understand what legalize types is doing. This is not yet done. Until the ifdef added to SelectionDAGISel.cpp is enabled, this does nothing. However, this code is sufficient to legalize all of the code in 186.crafty, olden and freebench on an x86 machine. The biggest issues are: 1. Vectors aren't implemented at all yet 2. SoftFP is a mess, I need to talk to Evan about it. 3. No lowering to libcalls is implemented yet. 4. Various operations are missing etc. 5. There are FIXME's for stuff I hax0r'd out, like softfp. Hey, at least it is a step in the right direction :). If you'd like to help, just enable the #ifdef in SelectionDAGISel.cpp and compile code with it. If this explodes it will tell you what needs to be implemented. Help is certainly appreciated. Once this goes in, we can do three things: 1. Add a new pass of dag combine between the "type legalizer" and "operation legalizer" passes. This will let us catch some long-standing isel issues that we miss because operation legalization often obfuscates the dag with target-specific nodes. 2. We can rip out all of the type legalization code from LegalizeDAG.cpp, making it much smaller and simpler. When that happens we can then reimplement the core functionality left in it in a much more efficient and non-recursive way. 3. Once the whole legalizer is non-recursive, we can implement whole-function selectiondags maybe... llvm-svn: 42981
-
- Oct 12, 2007
-
-
Evan Cheng authored
llvm-svn: 42896
-
- Sep 28, 2007
-
-
Dale Johannesen authored
llvm-svn: 42423
-
- Sep 25, 2007
-
-
Evan Cheng authored
llvm-svn: 42282
-
- Sep 19, 2007
-
-
Evan Cheng authored
between two registers in the specific class. llvm-svn: 42123
-
- Sep 18, 2007
-
-
Evan Cheng authored
llvm-svn: 42069
-