Changes in directory llvm/docs:
ReleaseNotes.html updated: 1.384 -> 1.385
---
Log message:
Fix typo.
---
Diffs of the changes: (+2 -2)
ReleaseNotes.html |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Index: llvm/docs/ReleaseNotes.html
diff -u llvm/docs/ReleaseNotes.html:1.
Changes in directory llvm/test/lib:
llvm.exp updated: 1.23 -> 1.24
---
Log message:
Fix typo.
---
Diffs of the changes: (+1 -1)
llvm.exp |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/test/lib/llvm.exp
diff -u llvm/test/lib/llvm.exp:1.23 llvm/test/lib/llvm.exp:1.24
This fixes a FIXME in the dwarf writer: different landing pads
may have the same actions, but a new action entry was being
written for each one. With this patch only distinct actions
are written. I was inspired to do this after noticing that
the same action was being output 24 times in an example
Changes in directory llvm/lib/CodeGen:
DwarfWriter.cpp updated: 1.146 -> 1.147
---
Log message:
Only emit one entry in the exception action table for each action, even if
it occurs for multiple landing pads.
---
Diffs of the changes: (+116 -65)
DwarfWriter.cpp | 181 ++
Hi Anton,
> Please find attached patch, which fixes LLVM's behaviour during code
> emission in LPs.
>
> Currently AddLandingPad() function emits llvm.eh.exception only for
> TRY_EXCEPT blocks. But sometimes (see, e.g. g++.dg/eh/unexpected1.C) gcc
> generates code of form:
>
> try {
> throw();
>
Hi Anton,
> while this patch works, I think it is suboptimal in some cases.
> I am still investigating how to avoid this suboptimality. I suggest
> this patch be put on hold for a day or two until I have finished.
I don't think it can be improved at this point. However the patch
could be a bit
Changes in directory llvm/test/C++Frontend:
2007-05-23-TryFinally.cpp added (r1.1)
---
Log message:
Testcase for
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070528/050047.html
---
Diffs of the changes: (+15 -0)
2007-05-23-TryFinally.cpp | 15 +++
1 files ch
TypeInfos are passed around as pointers (i8*), yet when
a null value is needed it is passed as an i32 value of 0,
rather than an i8* null. The attached patches change to
using an i8* null in LLVM and llvm-gcc. At the same time
I eliminated some uses of std::vector as a way of
holding a single Val
Hi Chris, this breaks the Ada build since the TYPE_SIZE may not be a constant:
> + if (TYPE_SIZE(type) == 0 ||
> + PadStartBits >= int(TREE_INT_CST_LOW(TYPE_SIZE(type))) ||
I've attached a fix, which includes some other tweaks for arrays
(not very important) plus whitespace cleanup.
Ciao,
Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.454 -> 1.455
---
Log message:
Since TypeInfos are passed as i8 pointers, a NULL TypeInfo should be passed
as a null i8 pointer not as a 0 i32.
---
Diffs of the changes: (+2 -4)
SelectionDAGISel.cpp |6 +
> > Hi Chris, this breaks the Ada build since the TYPE_SIZE may not be
> > a constant:
> >
> >> + if (TYPE_SIZE(type) == 0 ||
> >> + PadStartBits >= int(TREE_INT_CST_LOW(TYPE_SIZE(type))) ||
> >
> > I've attached a fix, which includes some other tweaks for arrays
> > (not very important) pl
Hi Dale,
> Arrange for only 1 of multiple branches to landing pad to be kept.
you seem to assume that there is at most one landing pad block for
a given MBB, i.e. that all invokes in the MBB unwind to the same
landing pad. Are you sure that's true?
Ciao,
Duncan.
___
Hi Dale,
> Arrange for only 1 of multiple branches to landing pad to be kept.
it struck me that this patch seems to assume that if a successor
is a landing pad then it is necessarily a landing pad for the
current MBB. But couldn't it be the landing pad for some other
MBB, and simply a normal suc
Hi Chris,
> Okay, do you have a testcase that demonstrates this?
I will synthesize one for you.
> Also, the code for handling "large arrays" isn't needed. This code
> is only called for fixed size structures that are small.
Hey, you are the one who used getInt64 to get the array length! :)
A
Hi Dale,
> > it struck me that this patch seems to assume that if a successor
> > is a landing pad then it is necessarily a landing pad for the
> > current MBB.
>
> I wasn't intending to assume that; how so?
>
> > But couldn't it be the landing pad for some other
> > MBB, and simply a normal suc
> > Okay, do you have a testcase that demonstrates this?
>
> I will synthesize one for you.
Actually a testcase would be pointless, since the compiler crashes
during the (Ada) compiler build. It wouldn't be pointless if I
could make a C or C++ testcase, but I don't think it can be done
except in
Changes in directory llvm/lib/CodeGen:
DwarfWriter.cpp updated: 1.149 -> 1.150
MachineModuleInfo.cpp updated: 1.15 -> 1.16
---
Log message:
Integrate exception filter support and exception catch support. This
simplifies the code in DwarfWriter, allows for multiple filters and
makes it trivial
Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.455 -> 1.456
---
Log message:
Integrate exception filter support and exception catch support. This
simplifies the code in DwarfWriter, allows for multiple filters and
makes it trivial to specify filters accompa
Changes in directory llvm/include/llvm/CodeGen:
MachineModuleInfo.h updated: 1.15 -> 1.16
---
Log message:
Integrate exception filter support and exception catch support. This
simplifies the code in DwarfWriter, allows for multiple filters and
makes it trivial to specify filters accompanied by
Changes in directory llvm/include/llvm/CodeGen:
MachineModuleInfo.h updated: 1.16 -> 1.17
---
Log message:
The semantics of invoke require that we always jump to the unwind block
(landing pad) when an exception unwinds through the call. This doesn't
quite match the way the dwarf unwinder works
Changes in directory llvm/lib/CodeGen:
MachineModuleInfo.cpp updated: 1.16 -> 1.17
---
Log message:
The semantics of invoke require that we always jump to the unwind block
(landing pad) when an exception unwinds through the call. This doesn't
quite match the way the dwarf unwinder works: by de
Hi Tanya, I notice that a least one line seems to be
more than 80 characters wide, and also that in some
places tabs are used for indentation rather than spaces.
Ciao,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.e
Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.456 -> 1.457
---
Log message:
Additional fix for PR1422: http://llvm.org/PR1422 : make sure the landing pad
label is placed in the
correct machine basic block - do not rely on the eh.exception intrinsic
being i
Changes in directory llvm/lib/CodeGen:
DwarfWriter.cpp updated: 1.150 -> 1.151
---
Log message:
Fold the exception actions table harder: if two typeid lists start the
same, only output one copy of the common part.
---
Diffs of the changes: (+68 -56)
DwarfWriter.cpp | 124 +
Missing spaces after "if":
> + if(GV == 0)
> + if(InitList == 0)
> +if(const Function *f = dyn_cast(Elt))
Also, in this last "if" you call the function "f" but I guess
"F" would be more consistent.
Ciao,
Duncan.
___
llvm-commits mailing list
l
Changes in directory llvm/test/C++Frontend:
2007-05-23-TryFinally.cpp updated: 1.1 -> 1.2
---
Log message:
Make this test pass if llvm-g++ was built without exception handling support.
---
Diffs of the changes: (+1 -1)
2007-05-23-TryFinally.cpp |2 +-
1 files changed, 1 insertion(+), 1
Changes in directory llvm/test/CFrontend:
2007-05-07-NestedStructReturn.c updated: 1.1 -> 1.2
---
Log message:
Make the struct bigger, in an attempt to get a "struct return" on more
platforms.
---
Diffs of the changes: (+1 -1)
2007-05-07-NestedStructReturn.c |2 +-
1 files changed, 1 i
Changes in directory llvm/lib/CodeGen:
DwarfWriter.cpp updated: 1.151 -> 1.152
---
Log message:
Use more realistically sized vectors. Reserve capacity if we know in advance
how much will be used.
---
Diffs of the changes: (+7 -4)
DwarfWriter.cpp | 11 +++
1 files changed, 7 inse
The fix that was applied for PR1224 stops the compiler
crashing but breaks exception handling. The problem
described in PR1224 is that invoke is a terminator that
can produce a value. The value may be needed in other
blocks. The code that writes to registers values needed
in other blocks runs be
When I got rid of the inreg attribute for static chain parameters,
I simply deleted the attribute adding code while I should have pushed
a attribute of "none" - this results in attributes for other parameters
being applied to the wrong parameters (off by one). Fixed by the attached
patch.
Ciao,
Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.458 -> 1.459
---
Log message:
The fix that was applied for PR1224: http://llvm.org/PR1224 stops the compiler
crashing but breaks exception handling. The problem
described in PR1224: http://llvm.org/PR1224 is
Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.461 -> 1.462
---
Log message:
Only correctly lower exception handing intrinsics if exception handling is
turned on. Likewise for scanning of invokes to mark landing pads.
---
Diffs of the changes: (+7 -8)
Look for eh.filter and eh.selector intrinsics in the
successor to an empty (exception for a branch) landing pad.
The big FIXME comment explains more. Testcase included,
along with an XFAIL for a test which uses eh.selector in a
routine with no landing pads (not possible in llvm-gcc
generated code)
Hi Chris,
> + // Inform the MachineModuleInfo of the personality for this
> landing pad.
> + ConstantExpr *CE = dyn_cast(I.getOperand(2));
> + assert(CE && CE->getOpcode() == Instruction::BitCast &&
>
> Please just use cast<> instead of dyn_cast, which guarantees no null
> return.
but the
Changes in directory llvm/docs:
SourceLevelDebugging.html updated: 1.28 -> 1.29
---
Log message:
Fix typos.
---
Diffs of the changes: (+3 -3)
SourceLevelDebugging.html |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
Index: llvm/docs/SourceLevelDebugging.html
diff -u llvm/
> Seems fine to me, minor comments:
How about this? [I had to make the critical edge detection
less conservative after finding a testcase in which some
critical edges were not empty].
Ciao,
Duncan.
Index: llvm.master/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Changes in directory llvm/test/C++Frontend:
2007-05-23-TryFinally.cpp updated: 1.2 -> 1.3
---
Log message:
Use "ignore" rather than grep tricks.
---
Diffs of the changes: (+2 -1)
2007-05-23-TryFinally.cpp |3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
Index: llvm/test/C++Fro
Changes in directory llvm/test/CodeGen/Generic:
2007-04-14-EHSelectorCrash.ll updated: 1.2 -> 1.3
2007-06-06-CriticalEdgeLandingPad.ll updated: 1.1 -> 1.2
---
Log message:
Workaround for PR1508: http://llvm.org/PR1508 .
---
Diffs of the changes: (+5 -1)
2007-04-14-EHSelectorCrash.ll
Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.463 -> 1.464
---
Log message:
Workaround for PR1508: http://llvm.org/PR1508 .
---
Diffs of the changes: (+96 -29)
SelectionDAGISel.cpp | 125 +++
1 files cha
> Ah, another minor simplification:
>
> +/// isFilterOrSelector - Return true if this instruction is a call
> to the
> +/// eh.filter or the eh.selector intrinsic.
> +static bool isFilterOrSelector(Instruction *I) {
>if (IntrinsicInst *II = dyn_cast(I))
> return II->getIntrinsicID() ==
Hi,
> + // Add llvm.global.annotations
> + if (!AttributeAnnotateGlobals.empty()) {
> +std::vector AttrList;
since you know how big this vector is going to be, you could reserve that much
space here.
> +for (unsigned i = 0, e = AttributeAnnotateGlobals.size(); i != e; ++i) {
> + C
Hi Evan
> If a livein is not used in the block. It's live through.
thanks for doing this. Does this mean that the value in the livein
register is available in all blocks reachable from this one? If so,
why is propagateEHRegister needed? Or does it mean that the value
is available in successor
Hi,
> > It seems like folding undef/X to undef isn't safe either though, with
> > the way it sounds like undef is intended to work. This code:
> >
> > %x = udiv i32 undef, %intmax
> > %y = udiv i32 %x, 2
> >
> > will always set %y to 0. Maybe instcombine can fold the second
> > udiv by looking
Hi,
> >>> It seems like folding undef/X to undef isn't safe either though,
here is my understanding of how to fold undef. I hope it clarifies
this confusing area. Of course, I could be confused myself but I
hope not :)
(1) When is it OK to fold "y=foo(undef)" to "y=undef"? I claim that
it is
Hi Evan,
> +/// propagateEHRegister - The specified EH register is required in a
> successor
> +/// of the EH landing pad. Propagate it (by adding it to livein) to all the
> +/// blocks in the paths between the landing pad and the specified block.
thanks for this fix. For the moment we don't re
Hi Dan,
> + // fold (add x, undef) -> undef
> + if (N1.getOpcode() == ISD::UNDEF)
> +return N1;
what if N0 is undef and not N1?
> - // If either operand is undef, the result is undef
> - if (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)
> -return DAG.getNode(ISD::UNDE
> Looking at it a little more, I think the instcombine folds are actually
> wrong here. For example, it does X + undef -> undef, but that's wrong if
> X is a NaN.
Right, that's why I suggested X + undef -> X.
Ciao,
Duncan.
___
llvm-commits mailing list
These patches, to LLVM and llvm-gcc, add support for nested
try-catch statements. Previously, only the inner most
catch or filter was being taken into account. Thanks to
inlining it is possible for a function to contain any
number of filters and catches nested within each other
(without inlining
Author: baldrick
Date: Wed Jul 4 15:09:16 2007
New Revision: 37873
URL: http://llvm.org/viewvc/llvm-project?rev=37873&view=rev
Log:
In isamax, clearly align==1 should have been align==3.
Add bres to the indices calculated using SSE to correct
for the earlier offsetting of xp. Align xbig and ind
Author: baldrick
Date: Wed Jul 4 15:48:48 2007
New Revision: 37874
URL: http://llvm.org/viewvc/llvm-project?rev=37874&view=rev
Log:
Nested try-catch-filter testcase.
Added:
llvm/trunk/test/C++Frontend/2007-07-04-NestedCatches.cpp
Added: llvm/trunk/test/C++Frontend/2007-07-04-NestedCatches.c
Author: baldrick
Date: Wed Jul 4 15:52:51 2007
New Revision: 37875
URL: http://llvm.org/viewvc/llvm-project?rev=37875&view=rev
Log:
Extend eh.selector to support both catches and filters.
Drop the eh.filter intrinsic.
Modified:
llvm/trunk/docs/ExceptionHandling.html
llvm/trunk/include/ll
(1) Fix some comments.
(2) Correct off-by-one in test for branching within the same scope
(currently it never triggers, but comes out in the wash later).
(3) Have all branches to the same destination share cleanup code,
not just exception unwinding branches. Currently each non-unwind
branch (like
7&r1=37906&r2=37907&view=diff
==
--- llvm/trunk/CREDITS.TXT (original)
+++ llvm/trunk/CREDITS.TXT Thu Jul 5 05:32:33 2007
@@ -203,7 +203,7 @@
N: Duncan Sands
E: [EMAIL PROTECTED]
-D: Ada front-end
+
Author: baldrick
Date: Thu Jul 5 10:15:01 2007
New Revision: 37908
URL: http://llvm.org/viewvc/llvm-project?rev=37908&view=rev
Log:
Make sure only one copy of a filter is placed in the
exception handling table if we encounter it multiple
times. Filters could be folded harder than this, but
that
> +SturtByVal= 1<<4, ///< Struct passed by value
What about arrays? It may sometimes be useful to pass them
by value too.
Ciao,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-
Author: baldrick
Date: Fri Jul 6 04:18:59 2007
New Revision: 37938
URL: http://llvm.org/viewvc/llvm-project?rev=37938&view=rev
Log:
Remove propagateEHRegister in favour of a more limited
fix, that is adequate while PR1508 remains unresolved.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/Sele
Author: baldrick
Date: Fri Jul 6 04:10:03 2007
New Revision: 37937
URL: http://llvm.org/viewvc/llvm-project?rev=37937&view=rev
Log:
Remove ExtractGlobalVariable - use StripPointerCasts
instead.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Modified: llvm/trunk/lib/CodeG
Author: baldrick
Date: Fri Jul 6 07:46:24 2007
New Revision: 37942
URL: http://llvm.org/viewvc/llvm-project?rev=37942&view=rev
Log:
Indexes into the list of filter ids cannot be output
directly: they need to be turned into byte offsets
(often the same, but may not be if there are many
type infos)
Author: baldrick
Date: Fri Jul 6 09:46:23 2007
New Revision: 37947
URL: http://llvm.org/viewvc/llvm-project?rev=37947&view=rev
Log:
The exception handling intrinsics return values,
so must be lowered to a value, not nothing at all.
Subtle point: I made eh_selector return 0 and
eh_typeid_for retur
Hi Reid,
> > +ByVal = 1<<4, ///< Struct passed by value
>
> I would prefer this be named StructByVal, to be clear
this was changed because it should also be possible to pass arrays
by value, not just structs. So it is rather the comment that should
be fixed, not the name. That
Hi Reid,
> > > > +ByVal = 1<<4, ///< Struct passed by value
> > >
> > > I would prefer this be named StructByVal, to be clear
> >
> > this was changed because it should also be possible to pass arrays
> > by value, not just structs. So it is rather the comment that should
> > b
This patch causes llvm-gcc to output itanium style exception handling
code. It does not turn on zero cost exceptions (they cannot be turned
on until llvm-gcc is capable of correctly building the unwinder in the
runtime library - this is PR1379). Tested by bootstrapping the compiler
and running th
Hi Rafael,
> > Thus in the IR the function is declared to take a pointer to the
> > struct as an argument, and the ByVal marker is placed for the
> > benefit of the code generators. However it is not clear to me
> > that this is semantically correct. Doesn't ByVal mean what it
> > says: a copy o
A function that only has cleanups (destructors) to run when an exception is
raised
currently is not assigned a personality function because we don't bother
creating
a call to eh.selector if there are no catches. But the personality function is
still needed, since it is the personality function t
Author: baldrick
Date: Wed Jul 11 03:47:55 2007
New Revision: 38535
URL: http://llvm.org/viewvc/llvm-project?rev=38535&view=rev
Log:
If assertions are not enabled, we should return False here.
Modified:
llvm/trunk/lib/CodeGen/BranchFolding.cpp
Modified: llvm/trunk/lib/CodeGen/BranchFolding.c
Hi Rafael,
> +Assert(!Attrs->paramHasAttr(0, ParamAttr::ByVal),
> + "Attribute ByVal should not apply to functions!");
why not?
> +"Attribute ByVal should only apply to pointer to structs!",
> &F);
Why? Why are arrays not allowed?
Here's my take on this whole ar
Author: baldrick
Date: Wed Jul 11 11:59:20 2007
New Revision: 39732
URL: http://llvm.org/viewvc/llvm-project?rev=39732&view=rev
Log:
Exception handling has been implemented.
Modified:
llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
Modified: llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
URL:
ht
Author: baldrick
Date: Thu Jul 12 08:51:39 2007
New Revision: 39775
URL: http://llvm.org/viewvc/llvm-project?rev=39775&view=rev
Log:
The type ids making up a filter are unsigned, and
should be output as unsigned values. Checked against
gcc.
Modified:
llvm/trunk/lib/CodeGen/DwarfWriter.cpp
M
Author: baldrick
Date: Fri Jul 13 07:12:16 2007
New Revision: 39806
URL: http://llvm.org/viewvc/llvm-project?rev=39806&view=rev
Log:
Forward port of [129234].
exception handling tweaks from Duncan:
(1) Fix some comments.
(2) Correct off-by-one in test for branching within the same scope
(current
Author: baldrick
Date: Fri Jul 13 07:09:59 2007
New Revision: 39805
URL: http://llvm.org/viewvc/llvm-project?rev=39805&view=rev
Log:
Forward port of [129185].
Handle nested try-catch statements: From Duncan
These patches, to LLVM and llvm-gcc, add support for nested
try-catch statements. Previo
Author: baldrick
Date: Fri Jul 13 07:13:27 2007
New Revision: 39807
URL: http://llvm.org/viewvc/llvm-project?rev=39807&view=rev
Log:
Forward port of [129251].
Duncan and Anton have found this to be safe, enable it now!
at some point, we should remove the #define and the #ifdef's
entirely, woo!
Author: baldrick
Date: Fri Jul 13 08:04:38 2007
New Revision: 39809
URL: http://llvm.org/viewvc/llvm-project?rev=39809&view=rev
Log:
Forward port of [129252] and [129261].
Enable llvm-gcc to build when LLVM is configured with
--enable-expensive-checks.
Modified:
llvm-gcc-4-2/trunk/gcc/Make
.selector to be generated in every landing pad, even if it has no
type
infos,
because that specifies the personality function.
Patch from Duncan Sands.
Modified:
llvm-gcc-4-2/trunk/gcc/llvm-convert.cpp
Modified: llvm-gcc-4-2/trunk/gcc/llvm-convert.cpp
URL:
http://llvm.org/viewvc/llvm-project
Author: baldrick
Date: Fri Jul 13 04:40:57 2007
New Revision: 39799
URL: http://llvm.org/viewvc/llvm-project?rev=39799&view=rev
Log:
Misapplied patch.
Modified:
llvm-gcc-4-2/trunk/gcc/config/i386/linux.h
Modified: llvm-gcc-4-2/trunk/gcc/config/i386/linux.h
URL:
http://llvm.org/viewvc/llvm-p
Author: baldrick
Date: Fri Jul 13 06:24:59 2007
New Revision: 39804
URL: http://llvm.org/viewvc/llvm-project?rev=39804&view=rev
Log:
Correct the directory that the man pages are installed into.
Modified:
llvm-gcc-4-2/trunk/build_gcc
Modified: llvm-gcc-4-2/trunk/build_gcc
URL:
http://llvm.or
Author: baldrick
Date: Fri Jul 13 10:37:31 2007
New Revision: 39810
URL: http://llvm.org/viewvc/llvm-project?rev=39810&view=rev
Log:
Make it compile on i386.
Modified:
llvm-gcc-4-2/trunk/gcc/config/i386/i386.c
llvm-gcc-4-2/trunk/gcc/config/i386/llvm-i386-target.h
Modified: llvm-gcc-4-2/t
Author: baldrick
Date: Fri Jul 13 10:43:51 2007
New Revision: 39811
URL: http://llvm.org/viewvc/llvm-project?rev=39811&view=rev
Log:
Include tm_p.h to get the definition of REG_CLASS_FROM_CONSTRAINT.
Simplify use of vectors with constructors, and fix some small
conversion bugs while there (eg: ind
Hi Nick,
> + /// maximalIntersectWith - Return the range that results from the
> intersection
> + /// of this range with another range. The resultant range is guaranteed to
> + /// include all elements contained in both input ranges, and is also
> + /// guaranteed to be the smallest possible
Author: baldrick
Date: Sun Jul 15 06:55:54 2007
New Revision: 39869
URL: http://llvm.org/viewvc/llvm-project?rev=39869&view=rev
Log:
Check correctness of using decl_with_rtl in LLVM constructs.
Modified:
llvm-gcc-4-2/trunk/gcc/tree.h
Modified: llvm-gcc-4-2/trunk/gcc/tree.h
URL:
http://llvm.
Author: baldrick
Date: Sun Jul 15 06:58:12 2007
New Revision: 39870
URL: http://llvm.org/viewvc/llvm-project?rev=39870&view=rev
Log:
Move RTL checks inside ifndef ENABLE_LLVM. Restore some logic
from llvm-gcc-4.0 that got lost.
Modified:
llvm-gcc-4-2/trunk/gcc/varasm.c
Modified: llvm-gcc-4-
Author: baldrick
Date: Sun Jul 15 07:02:31 2007
New Revision: 39871
URL: http://llvm.org/viewvc/llvm-project?rev=39871&view=rev
Log:
Fix a bunch of small problems noticed by the compiler.
Modified:
llvm-gcc-4-2/trunk/gcc/bt-load.c
llvm-gcc-4-2/trunk/gcc/c-common.c
llvm-gcc-4-2/trunk/g
Author: baldrick
Date: Sun Jul 15 07:04:54 2007
New Revision: 39872
URL: http://llvm.org/viewvc/llvm-project?rev=39872&view=rev
Log:
Fix misplaced langhook initializer. Apple people take
note: you may want to fix this in your own gcc 4.2 tree.
Modified:
llvm-gcc-4-2/trunk/gcc/langhooks-def.h
Author: baldrick
Date: Sun Jul 15 12:02:38 2007
New Revision: 39877
URL: http://llvm.org/viewvc/llvm-project?rev=39877&view=rev
Log:
Condition DECL_LLVM_SET_P on HAS_RTL_P, as in DECL_RTL_SET_P.
This makes print-tree work in the presence of FIELD_DECLs which
can no longer hold RTL.
Modified:
Can you please also apply it on the 4.2 branch. I would do it myself
but it hasn't turned up in the mirror yet (which is strange - maybe
something is wrong with the mirror?), and I think you changed it a bit
compared to the version in bugzilla.
Thanks,
Duncan.
___
Author: baldrick
Date: Sun Jul 15 12:58:07 2007
New Revision: 39878
URL: http://llvm.org/viewvc/llvm-project?rev=39878&view=rev
Log:
We used to stash the index of the LLVM field corresponding to
a FIELD_DECL directly in the field declaration. But the place
we would store it doesn't exist in gcc 4
Author: baldrick
Date: Mon Jul 16 03:53:00 2007
New Revision: 39918
URL: http://llvm.org/viewvc/llvm-project?rev=39918&view=rev
Log:
Make Ada buildable.
Modified:
llvm-gcc-4-2/trunk/gcc/ada/Make-lang.in
Modified: llvm-gcc-4-2/trunk/gcc/ada/Make-lang.in
URL:
http://llvm.org/viewvc/llvm-proje
Author: baldrick
Date: Mon Jul 16 04:32:56 2007
New Revision: 39919
URL: http://llvm.org/viewvc/llvm-project?rev=39919&view=rev
Log:
Abort if someone tries to look up a field index value
that hasn't been set. Note that if a type has been
converted then fields with no index do get an index
value (
On Tuesday 17 July 2007 09:32:28 Reid Spencer wrote:
> P.S.
> You want the svn switch --relocate option
After some fiddling I could persuade svn switch to do something -
not sure what it was doing but it sure caused a lot of disk usage :)
But I failed to get it to update my working copy correctly,
In gcc, if a language defines lang_protect_cleanup_actions then any exceptions
thrown
by an exception handling cleanup ("destructor") are supposed to be routed to a
call to
lang_protect_cleanup_actions. Implement this like in gcc: wrap cleanups in a
filter
that has as handler the code specified
Hi Rafael,
> > > +Assert(!Attrs->paramHasAttr(0, ParamAttr::ByVal),
> > > + "Attribute ByVal should not apply to functions!");
> >
> > why not?
>
> What does it means to a function to have such an attribute?
I see now that I was mislead by the assertion message which should probabl
Hi Chris,
> This won't work. Unlike struct return, the callee actually can
> notice if this happens. For example, consider this:
...
> If it were really undefined, this would require the callee to make a
> copy of the struct before passing it in. In order to get decent
> codegen, this cop
Hi Rafael,
> > I see, thanks for this information. However this seems to be more or
> > less exactly the scheme I was suggesting: an explicit copy of the struct
> > is made in the IR (done by the caller). In the IR the copy is passed to
> > the callee via a pointer which is marked byval. In the
ired in the dwarf writer (plus some kind of annotation in the
IR),
much the same as for nothrow functions. Since we don't yet support nothrow
functions I didn't try to add any support for this a priori more complicated
case.
Patch by Duncan Sands
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-
Hi Scott,
> build -> build2. (Typo)
thanks for fixing this. It came from the gcc 4.0
version (which does not need this change).
Ciao,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commit
Author: baldrick
Date: Wed Jul 18 04:48:39 2007
New Revision: 3
URL: http://llvm.org/viewvc/llvm-project?rev=3&view=rev
Log:
Forward port of [129555].
Implement missing dwarf builtins, used by the libstdc++ unwinder.
This is more or less workable on x86-32/linux only
Patch by Anton Korob
Author: baldrick
Date: Wed Jul 18 06:40:26 2007
New Revision: 4
URL: http://llvm.org/viewvc/llvm-project?rev=4&view=rev
Log:
For an sret call, we always have to push a pointer argument
giving where to place the result - otherwise LLVM will abort
because the function is called with the wron
Author: baldrick
Date: Wed Jul 18 08:25:34 2007
New Revision: 40001
URL: http://llvm.org/viewvc/llvm-project?rev=40001&view=rev
Log:
Restore dropped SET_DECL_ASSEMBLER_NAME and add a missing
SET_DECL_LLVM. Yes, gcc really does call SET_DECL_RTL
twice in a row, identically, here, even in current g
Author: baldrick
Date: Wed Jul 18 10:03:41 2007
New Revision: 40002
URL: http://llvm.org/viewvc/llvm-project?rev=40002&view=rev
Log:
Add a bunch of reasonable looking decl_rtl -> decl_llvm
changes.
Modified:
llvm-gcc-4.2/trunk/gcc/ada/utils.c
llvm-gcc-4.2/trunk/gcc/c-parser.c
llvm-gcc
Author: baldrick
Date: Thu Jul 19 02:31:58 2007
New Revision: 40044
URL: http://llvm.org/viewvc/llvm-project?rev=40044&view=rev
Log:
As pointed out by g++-4.2, the original code didn't do
what it thought it was doing.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Modified: l
Can you please also apply it to llvm-gcc-4.2 if appropriate.
Thanks,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
1 - 100 of 796 matches
Mail list logo