- Aug 19, 2011
-
-
Devang Patel authored
llvm-svn: 137998
-
Ivan Krasin authored
llvm-svn: 137993
-
- Aug 17, 2011
-
-
Bill Wendling authored
The landingpad instruction is lowered into the EXCEPTIONADDR and EHSELECTION SDNodes. The information from the landingpad instruction is harvested by the 'AddLandingPadInfo' function. The new EH uses the current EH scheme in the back-end. This will change once we switch over to the new scheme. (Reviewed by Jakob!) llvm-svn: 137880
-
Bill Wendling authored
llvm-svn: 137875
-
Bill Wendling authored
This generates the SDNodes for the new exception handling scheme. It takes the two values coming from the landingpad instruction and assigns them to the EXCEPTIONADDR and EHSELECTION nodes. llvm-svn: 137873
-
Bill Wendling authored
Things are much saner now. We no longer need to modify the laning pads, because of the invariants we impose upon them. The only thing DwarfEHPrepare needs to do is convert the 'resume' instruction into a call to '_Unwind_Resume'. llvm-svn: 137855
-
Devang Patel authored
Until now all debug info MDNodes referred to a root MDNode, a compile unit. This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL. MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up. llvm-svn: 137778
-
- Aug 16, 2011
-
-
Jim Grosbach authored
The argument is unused, and is a layering violation in any case. llvm-svn: 137735
-
Devang Patel authored
llvm-svn: 137728
-
Nadav Rotem authored
llvm-svn: 137719
-
Devang Patel authored
llvm-svn: 137689
-
Devang Patel authored
llvm-svn: 137683
-
Devang Patel authored
llvm-svn: 137668
-
Devang Patel authored
llvm-svn: 137663
-
- Aug 15, 2011
-
-
Devang Patel authored
There is no need to maintain a set to keep track of variables that use location expressions. In such cases, AT_location attribute's value will be a label. llvm-svn: 137659
-
Devang Patel authored
llvm-svn: 137658
-
Devang Patel authored
llvm-svn: 137656
-
Devang Patel authored
When a variable is inlined multiple places, abstract variable keeps name, location, type etc.. info and all other concreate instances of the variable directly refers to abstract variable. llvm-svn: 137637
-
Devang Patel authored
llvm-svn: 137632
-
Devang Patel authored
llvm-svn: 137631
-
Devang Patel authored
llvm-svn: 137621
-
Devang Patel authored
llvm-svn: 137618
-
- Aug 13, 2011
-
-
Nadav Rotem authored
be illegal, even if the requested vector type is legal. Testcase is one of the disabled ARM tests in the vector-select patch. llvm-svn: 137562
-
- Aug 12, 2011
-
-
Bill Wendling authored
This implements the 'landingpad' instruction. It's used to indicate that a basic block is a landing pad. There are several restrictions on its use (see LangRef.html for more detail). These restrictions allow the exception handling code to gather the information it needs in a much more sane way. This patch has the definition, implementation, C interface, parsing, and bitcode support in it. llvm-svn: 137501
-
Devang Patel authored
llvm-svn: 137485
-
Chris Lattner authored
llvm-svn: 137480
-
Devang Patel authored
llvm-svn: 137478
-
Nadav Rotem authored
llvm-svn: 137466
-
Duncan Sands authored
when building with assertions disabled. llvm-svn: 137460
-
Jakob Stoklund Olesen authored
This is possible now that we now longer provide an interface to iterate the interference overlaps. llvm-svn: 137397
-
Jakob Stoklund Olesen authored
llvm-svn: 137381
-
Jakob Stoklund Olesen authored
The Query class now holds two iterators instead of an InterferenceResult instance. The iterators are used as bookmarks for repeated collectInterferingVRegs calls. llvm-svn: 137380
-
- Aug 11, 2011
-
-
Jakob Stoklund Olesen authored
collectInterferingVRegs will be the primary function for interference checks. llvm-svn: 137354
-
Jakob Stoklund Olesen authored
No clients are iterating over interference overlaps. llvm-svn: 137350
-
Jakob Stoklund Olesen authored
The InterferenceResult iterator turned out to be less important than we thought it would be. LiveIntervalUnion clients want higher level information, like the list of interfering virtual registers. llvm-svn: 137346
-
Benjamin Kramer authored
llvm-svn: 137321
-
Nadav Rotem authored
lower XMM register gets in first. This will allow the SUBREG pattern to elliminate the first vector insertion. llvm-svn: 137310
-
rdar://9930964Chris Lattner authored
It's somewhat surprising anything works without this. Before we would compile the testcase into: test: # @test movl $4, 8(%rdi) movl 8(%rdi), %eax orl %esi, %eax cmpl $32, %edx movl %eax, -4(%rsp) # 4-byte Spill je .LBB0_2 now we produce: test: # @test movl 8(%rdi), %eax movl $4, 8(%rdi) orl %esi, %eax cmpl $32, %edx movl %eax, -4(%rsp) # 4-byte Spill je .LBB0_2 llvm-svn: 137303
-
Devang Patel authored
llvm-svn: 137283
-
- Aug 10, 2011
-
-
Devang Patel authored
Distinguish between two copies of one inlined variable. Take 2. llvm-svn: 137253
-