- Nov 12, 2008
-
-
Daniel Dunbar authored
- EmitStmt is no longer required to finish with a current insertion point defined (i.e. it does not need to make dummy blocks). Instead, it can clear the insertion point in the builder which indicates that the current insertion point is unreachable. - CodeGenFunction provides HaveInsertPoint and EnsureInsertPoint which respectively test if there is an insert point and ensure an insertion point exists (by making a dummy block). - Clearly mark functions in CodeGenFunction which can be called with no insertion point defined. Currently this is a limited set, and EmitStmt simply EnsureInsertPoint()s before emitting subsequent IR. Remove EmitDummyBlock, which is no longer needed. Clients who haven't already cleared the insertion point (typically via EmitBranch) can do so by hand. Remove isDummyBlock, which has effectively been renamed to HaveInsertPoint. The main thrust of this change is that we no longer have create dummy blocks just to destroy them a short time later in EmitBlock in the common case that there is no unreachable code following something like a goto. Additionally, this means that we are not using the hokey condition in isDummyBlock that a block without a name is a dummy block. Guess how well that works when we never emit block names! llvm-svn: 59089
-
- Nov 11, 2008
-
-
Daniel Dunbar authored
invariants. llvm-svn: 59085
-
Daniel Dunbar authored
llvm-svn: 59081
-
Anton Korobeynikov authored
Patch by Ilya Okonsky! llvm-svn: 59080
-
Chris Lattner authored
llvm-svn: 59061
-
Sebastian Redl authored
Introduce a single AST node SizeOfAlignOfExpr for all sizeof and alignof expressions, both of values and types. llvm-svn: 59057
-
Daniel Dunbar authored
- Emits an unconditional branch, with extra logic to avoid generating spurious branches out of dummy blocks. llvm-svn: 59037
-
Chris Lattner authored
the size of the -O0 output on some cases. For example, on expr.c from 176.gcc, it shrinks the .ll file from 43164 to 42835 lines, and removed references to two external symbols. llvm-svn: 59034
-
Chris Lattner authored
condition is a constant. This shrinks -O0 codegen by quite a bit on some cases. llvm-svn: 59033
-
Chris Lattner authored
llvm-svn: 59032
-
Daniel Dunbar authored
"dummy" blocks (blocks just used to make sure we have a place to dump code to). llvm-svn: 59022
-
Daniel Dunbar authored
- Was confusing and only used in one small part of the code. llvm-svn: 59020
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 59017
-
- Nov 10, 2008
-
-
Chris Lattner authored
speeds up the compiler by ~8% at -emit-llvm -O0. llvm-svn: 58977
-
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
-
- Nov 09, 2008
-
-
Anders Carlsson authored
llvm-svn: 58940
-
- Nov 08, 2008
-
-
Daniel Dunbar authored
llvm-svn: 58892
-
Daniel Dunbar authored
generate the type of a member. llvm-svn: 58889
-
- Nov 04, 2008
-
-
Chris Lattner authored
llvm-svn: 58704
-
Douglas Gregor authored
Add a new expression class, ObjCSuperExpr, to handle the Objective-C 'super'. Remove ObjCThis from PredefinedExpr llvm-svn: 58698
-
Anders Carlsson authored
llvm-svn: 58681
-
Anders Carlsson authored
llvm-svn: 58680
-
- Nov 03, 2008
-
-
Chris Lattner authored
llvm-svn: 58602
-
- Nov 01, 2008
-
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 58546
-
- Oct 31, 2008
-
-
Sanjiv Gupta authored
etc more generic. For some targets, long may not be equal to pointer size. For example: PIC16 has int as i16, ptr as i16 but long as i32. Also fixed a few build warnings in assert() functions in CFRefCount.cpp, CGDecl.cpp, SemaDeclCXX.cpp and ParseDeclCXX.cpp. llvm-svn: 58501
-
Daniel Dunbar authored
type. llvm-svn: 58497
-
Daniel Dunbar authored
recursive types. - Style will be clean up in further patches. llvm-svn: 58490
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 58488
-
- Oct 29, 2008
-
-
Daniel Dunbar authored
- That is, the metadata for a protocol is only emitted if that protocol is actually used in the translation unit. This is important because Objective-C headers frequently contain a large number of protocol definitions, only a few of which will be used in any given file. llvm-svn: 58400
-
Eli Friedman authored
va_list, not the value. Patch fixes an assert on x86-64 and a wrong-code bug on x86. I'm not completely sure, but I think it's a regression from r58306. Does anyone run regression tests regularly on x86-64? The crash should have been picked up there. llvm-svn: 58366
-
- Oct 28, 2008
-
-
Daniel Dunbar authored
in the driver (this means we no longer run the verifier per function, however). llvm-svn: 58307
-
Daniel Dunbar authored
llvm-svn: 58304
-
- Oct 27, 2008
-
-
Chris Lattner authored
t.c:1:13: error: cannot codegen this designators yet int a[10] = {2, 4, [8]=9, 10}; ^~~~~~~~~~~~~~~~~ llvm-svn: 58220
-
- Oct 26, 2008
-
-
Oscar Fuentes authored
must be under the `tools' subdirectory of the LLVM *source* tree. llvm-svn: 58180
-
- Oct 24, 2008
-
-
Daniel Dunbar authored
CGDebugInfo::getOrCreateCompileUnit. llvm-svn: 58081
-
Daniel Dunbar authored
FileIDs. This seems better conceptually and lets the SourceManager handle details of mapping the location to a file ID. - In practice, fixes an assert because this code wasn't using getPhysicalLoc. llvm-svn: 58055
-
- Oct 21, 2008
-
-
Daniel Dunbar authored
llvm-svn: 57924
-
Douglas Gregor authored
llvm-svn: 57909
-
- Oct 18, 2008
-
-
Daniel Dunbar authored
for Obj-C methods. llvm-svn: 57769
-