Displaying 3 results from an estimated 3 matches for "customroots".
2011 Oct 31
2
[LLVMdev] Adding a custom GC safe point creation phase
...ata.h"
+#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/Support/Registry.h"
#include <string>
@@ -68,6 +69,8 @@
bool CustomReadBarriers; //< Default is to insert loads.
bool CustomWriteBarriers; //< Default is to insert stores.
bool CustomRoots; //< Default is to pass through to backend.
+ bool CustomSafePoints; //< Default is to use NeededSafePoints
+ // to find safe points.
bool InitRoots; //< If set, roots are nulled during
lowering.
bool UsesMetadata;...
2011 Oct 08
0
[LLVMdev] Initializing GC roots
...ng the GC
> plugin and implementing custom lowering for the gcroot intrinsic.
Hello Yiannis,
Yes, what you describe should be possible. In your GCStrategy subclass constructor, make the following change:
class MyGCStrategy : public GCStrategy {
MyGCStrategy() {
- InitRoots = true;
+ CustomRoots = true;
}
+
+ bool performCustomLowering(Function &F) {
+ // You can use LowerIntrinsics::InsertRootInitializers as a template.
+ }
};
LowerIntrinsics::InsertRootInitializers is only 26 lines of code. You can find it here:
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Code...
2011 Oct 06
2
[LLVMdev] Initializing GC roots
Hello all,
I set: InitRoots = true; in my gc plugin as i want the roots to be
initialized to the "null" value.
Is there a way to define which value should be the initial one? For
example, i would like to initialize my roots to -5 (tagged, null value
for the GC in my runtime system) instead of 0.
Ofcourse, i could do it in the frontend (storing -5 to all GC roots),
but i was wondering