- Apr 13, 2009
-
-
Douglas Gregor authored
llvm-svn: 68974
-
Devang Patel authored
Right now, Debugging information to encode scopes (DW_TAG_lexical_block) relies on DBG_LABEL. Unfortunately this intefers with the quality of optimized code. This patch updates dwarf writer to encode scoping information in DWARF only in FastISel mode. llvm-svn: 68973
-
Daniel Dunbar authored
llvm-svn: 68972
-
Anders Carlsson authored
llvm-svn: 68971
-
Anders Carlsson authored
llvm-svn: 68969
-
rdar://problem/6779809Steve Naroff authored
Change diagnostic as a result of researching <rdar://problem/6779809> missing interface name in "error: cannot declare variable inside a class, protocol or category ''. Since ObjC 2.0 class "extensions" have a null name, the diagnostic above is actually "correct". Nevertheless, it is confusing. Decided to remove the name entirely (from my perspective, it didn't add any value). Also simplified the text of the diagnostic a bit. llvm-svn: 68967
-
Daniel Dunbar authored
- Ted, please check. - Missing test case because PTH won't reliably cache the tokens in a test case. *cough* llvm-svn: 68966
-
Douglas Gregor authored
the unlikely event that the filename IDs in the stored line table end up being different from the filename IDs in the newly-created line table. llvm-svn: 68965
-
Devang Patel authored
Reapply 68847. Now debug_inlined section is covered by TAI->doesDwarfUsesInlineInfoSection(), which is false by default. llvm-svn: 68964
-
Douglas Gregor authored
properly cope with #line directives in PCH files. llvm-svn: 68963
-
Dan Gohman authored
- Add patterns for h-register extract, which avoids a shift and mask, and in some cases a temporary register. - Add address-mode matching for turning (X>>(8-n))&(255<<n), where n is a valid address-mode scale value, into an h-register extract and a scaled-offset address. - Replace X86's MOV32to32_ and related instructions with the new target-independent COPY_TO_SUBREG instruction. On x86-64 there are complicated constraints on h registers, and CodeGen doesn't currently provide a high-level way to express all of them, so they are handled with a bunch of special code. This code currently only supports extracts where the result is used by a zero-extend or a store, though these are fairly common. These transformations are not always beneficial; since there are only 4 h registers, they sometimes require extra move instructions, and this sometimes increases register pressure because it can force out values that would otherwise be in one of those registers. However, this appears to be relatively uncommon. llvm-svn: 68962
-
Dan Gohman authored
This will be used to replace things like X86's MOV32to32_. Enhance ScheduleDAGSDNodesEmit to be more flexible and robust in the presense of subregister superclasses and subclasses. It can now cope with the definition of a virtual register being in a subclass of a use. Re-introduce the code for recording register superreg classes and subreg classes. This is needed because when subreg extracts and inserts get coalesced away, the virtual registers are left in the correct subclass. llvm-svn: 68961
-
Douglas Gregor authored
Factor the internals of SourceManager (specially, LineTableInfo) into a separate Internals header. No functionality change llvm-svn: 68960
-
Dan Gohman authored
ISD::SIGN_EXTEND_INREG. Tablegen-generated code can handle these cases, and the scheduling issues observed earlier appear to be resolved now. llvm-svn: 68959
-
Dan Gohman authored
llvm-svn: 68958
-
Dan Gohman authored
in multiple classes in the case that the classes are all in subset/superset relations. This function is used by the fast-isel emitter, which always wants the super-most set. llvm-svn: 68957
-
Dan Gohman authored
a live interval. This is needed for some upcoming subreg changes. llvm-svn: 68956
-
Dan Gohman authored
the subreg field to 0, since the subreg field is only used for virtual register subregs. This doesn't change current functionality; it just eliminates bogus noise from debug output. llvm-svn: 68955
-
Dan Gohman authored
llvm-svn: 68954
-
Dan Gohman authored
llvm-svn: 68953
-
Douglas Gregor authored
deterministic when faced with an ambiguity. This eliminates the annoying test/SemaCXX/using-directive.cpp failure. llvm-svn: 68952
-
Dan Gohman authored
llvm-svn: 68951
-
Dan Gohman authored
llvm-svn: 68950
-
Dan Gohman authored
and IMPLICIT_DEF. llvm-svn: 68949
-
Dan Gohman authored
This unbreaks the JIT on x86-64. llvm-svn: 68948
-
Rafael Espindola authored
llvm-svn: 68947
-
Sanjiv Gupta authored
While passing arg of types larger than char only one byte at lower end was getting passed. We couldn't catch this as we did not have tests that were passing an int value larger than 256. llvm-svn: 68946
-
Nick Lewycky authored
llvm-svn: 68945
-
Nick Lewycky authored
declarations. llvm-svn: 68944
-
Chris Lattner authored
llvm-svn: 68943
-
Chris Lattner authored
llvm-svn: 68942
-
-
Chris Lattner authored
to support C99 inline, GNU extern inline, etc. Related bugzilla's include PR3517, PR3100, & PR2933. Nothing uses this yet, but it appears to work. llvm-svn: 68940
-
Chris Lattner authored
llvm-svn: 68939
-
Nick Lewycky authored
llvm-svn: 68938
-
Nick Lewycky authored
interpreter mode" when it's not. llvm-svn: 68937
-
Devang Patel authored
llvm-svn: 68936
-
Chris Lattner authored
llvm-svn: 68935
-
Nick Lewycky authored
llvm-svn: 68934
-
-