- Nov 10, 2008
-
-
Zhongxing Xu authored
llvm-svn: 58985
-
Duncan Sands authored
llvm-svn: 58984
-
Zhongxing Xu authored
llvm-svn: 58983
-
Zhongxing Xu authored
Implement RegionStoreManager::RemoveDeadBindings(). This prunes several false warning caused by removal of symbolic constraints. Currently we just mark all symbols live. Further optimization for dead binding removal needed. llvm-svn: 58982
-
Anton Korobeynikov authored
Patch by Jim Grosbach! llvm-svn: 58981
-
Dale Johannesen authored
llvm-svn: 58980
-
Dale Johannesen authored
Fixes ppc32 bootstrap. llvm-svn: 58979
-
Bill Wendling authored
The previous patches didn't match correctly. Also, we need to make sure that the conditional is the same before doing the transformation. llvm-svn: 58978
-
Chris Lattner authored
speeds up the compiler by ~8% at -emit-llvm -O0. llvm-svn: 58977
-
Chris Lattner authored
llvm-svn: 58976
-
Chris Lattner authored
1. emit proper debug info for forward decls of structs. 2. emit DW_TAG_member nodes around members of a field like llvm-gcc does. This slows down debug info generation, but is required for correctness. llvm-svn: 58973
-
Chris Lattner authored
using MachineModuleInfo. This runs at about the same speed as the old code, but fixes a bunch of bugs and is simpler and shorter. llvm-svn: 58971
-
Chris Lattner authored
llvm-svn: 58966
-
Zhongxing Xu authored
Print integer value instead of raw pointer. This is a hack to be fixed by migrating the output in analyzer to llvm::raw_ostream. llvm-svn: 58965
-
Mon P Wang authored
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask> llvm-svn: 58964
-
Chris Lattner authored
llvm-svn: 58963
-
Chris Lattner authored
string in the .ll and .s printers. llvm-svn: 58962
-
Chris Lattner authored
helper. This allows us to convert numbers to hex without necessarily needing to make a std::string to hold the result. llvm-svn: 58961
-
Chris Lattner authored
implementation detail of DIFactory anyway, and this allows it to avoid recomputing the same type over and over. llvm-svn: 58960
-
Chris Lattner authored
an array that is empty. Instead of requiring this array, allow a null pointer. This shrinks all forward references of structs. llvm-svn: 58959
-
Chris Lattner authored
llvm-svn: 58958
-
Chris Lattner authored
release-asserts build: llvm/CodeGen/SelectionDAGNodes.h:1298: warning: control may reach end of non-void function 'unsigned int llvm::MVT::getSizeInBits() const' being inlined what an unhelpful warning. llvm-svn: 58957
-
Chris Lattner authored
llvm-svn: 58956
-
Chris Lattner authored
llvm-svn: 58955
-
Chris Lattner authored
information. This logically replaces the "Desc" classes in MachineModuleInfo. Nice features of these classes are that they: 1. Are much more efficient than MMI because they don't create a temporary parallel data structure for debug info that has to be 'serialized' and 'deserialized' into/out of the module. 2. These provide a much cleaner abstraction for debug info than MMI, which will make it easier to change the implementation in the future (to be MDNode-based). 3. These are much easier to use than the MMI interfaces, requiring a lot less code in the front-ends. 4. These can be used to both create (for frontends) and read (for codegen) debug information. DebugInfoBuilder can only be used to create the nodes. So far, this is implemented just enough to support the debug info generation needs of clang. This can and should be extended to support the full set of debug info constructs, and we should switch llvm-gcc and llc over to using this in the near future. This code also has a ton of FIXMEs in it, because the way we currently represent debug info in LLVM IR is basically insane in a variety of details. This sort of issue should be fixed when we eventually reimplement debug info on top of MDNodes. llvm-svn: 58954
-
Oscar Fuentes authored
set LLVM_TABLEGEN. llvm-svn: 58953
-
Evan Cheng authored
llvm-svn: 58952
-
Oscar Fuentes authored
that specified targets are known. llvm-svn: 58951
-
Oscar Fuentes authored
cross-compiling. llvm-svn: 58950
-
Evan Cheng authored
llvm-svn: 58949
-
Argyrios Kyrtzidis authored
Introduce ScopedDecl::getLexicalDeclContext() which is different from ScopedDecl::getDeclContext() when there are nested-names. e.g.: namespace A { void f(); // SemanticDC (getDeclContext) == LexicalDC (getLexicalDeclContext) == 'namespace A' } void A::f(); // SemanticDC == namespace 'A' // LexicalDC == global namespace llvm-svn: 58948
-
Bill Wendling authored
of the select match, not the select instruction itself. llvm-svn: 58947
-
Bill Wendling authored
original code was matching like this: if (match(A, m_Not(m_Value(B)))) B was already matched as a 'select' instruction. However, this isn't matching what we think it's matching. It would match B as a 'Value', so basically anything would match to it. In this case, a Constant matched. B was replaced with a constant representation. And then the wrong value would be used in the SelectInst::Create statement, causing a crash. After thinking on this for a moment, and after Nick L. told me how the pattern matching stuff was supposed to work, the solution was to match NOT an m_Value, but an m_Select. llvm-svn: 58946
-
- Nov 09, 2008
-
-
Argyrios Kyrtzidis authored
When a tag has nested-name ('struct foo::bar'), use not 'CurContext' but the context of the nested-name ('foo::'). llvm-svn: 58945
-
Argyrios Kyrtzidis authored
-Use more of the non nested-name code path. -Also use the ActOnTagStruct code path. llvm-svn: 58944
-
Gabor Greif authored
llvm-svn: 58943
-
Oscar Fuentes authored
llvm-svn: 58941
-
Anders Carlsson authored
llvm-svn: 58940
-
Oscar Fuentes authored
built native tblgen which is passed to cmake in the variable LLVM_TABLEGEN. See http://www.cmake.org/Wiki/CmakeMingw for a quick example on how to cross-compile with CMake. llvm-svn: 58939
-
Chris Lattner authored
llvm-svn: 58938
-