LPVM BPF backend with GlobalISel - llvm

In the Head first into GlobalISel talk from the 2017 LLVM meeting it looks like the BPF backend makes use of GlobalISel to lower to MIR. In LLVM 14 and 15 it seems like the BPF backend still uses the DAG-based ISel. Where can I find the GlobalISel-based BPF backend ? I’d like to use it as a case study to learn about GlobalIsel. Thank you.

Related

Is it possible to make mods in C++ for the bedrock edition on a Windows 10 PC?

(thread title) bedrock minecraft more recognizable as "Windows 10 Edition" Minecraft, is it possible to create a sub category UI menu similar to that in Java minecraft where it says "mods" but in bedrock? and to add mods you make a mods folder that adds the mods coded in C++ (which the language bedrock/windows 10 MC is coded in)?
although this has been answered by #Kosaro, I just wanna add that you can create plugins to use on a PocketMine server. this is mainly written in YAML and PHP, so its not really what your looking for exactly but it a bit more open than just the addons that Minecraft allows you to create. plugins like this are what make things like slapping a NPC on a server like Mineplex possible, or an economy system on a factions server. although this is all dependent on whether you have a pc to host the server, and if your willing to port forward to play with others
It is possible through Blocklauncher. And these mods are called native Mods. It involves disassembling a file in Minecraft apk and using the function calls to call our own function. It is actually so complex. I only found two places to learn.
Tutorials by artus9033 (I've never used these Tutorials)
Github page by byteandahalf (Note: Page 9 is WIP)
Blocklauncher also uses javascript as a bridge between C++ and Minecraft, but it only has very few functionalities compared to C++. Add-ons are also good but have very fewer functionalities than javascript.
Hopes it helps you
Edit1: Blocklauncher is dead I don't know it before. It will work for older versions.
Edit2: There is another app inspired by Blocklauncher which you may like
https://github.com/TripleCamera. I don't know how to install it, but he made it. Blocklauncher scripts will not work (I guess). Blocklauncher works for version 12 and below of Minecraft
No, Minecraft Bedrock edition (aka Windows 10 edition) does not support C++ mods. The only type of mod that Bedrock edition supports are "add-ons", which are either resource packs (which change textures, models, sounds, animations, etc) or behavior packs (which change how mobs behave).
You are able to modify the UI using resource packs, here is an example from the official wiki: https://minecraft.gamepedia.com/Tutorials/Bedrock_Edition_creator_guidelines#UI
You can find more information and tutorials on the official reference page: https://minecraft.gamepedia.com/Add-on
Yes it is possible but it would be very involved and I’m not sure if this would be what the question really pertains to. The way I’ve seen it done is by a program (modding client) injecting itself into the Minecraft process. The injection resembles a virus’s methodology somewhat and the source code for the hacking/modding program was mostly cpp. Look up horion hacked client github. The client seems to be dead now though.

Using a STM upsd3200 series mcu for the first time

I've received a dk 3200 kit recently. I know it's old but I would like to start using it to have more of a challenge than just arduino. It came with the board, an st flashlink FL-101B and some cables. I do not have the install disc, but I found the software for psd soft express online. It doesn't work with current windows 7 64bit. If I could use my arduino to program it, that would be great! Or maybe just do it through USB or the parallel ports? I've read that st provides a stm32 library used to help make code. If that works for my mcu, I'll use that.
Thanks
ST is a company that loves to re-organize their website and break links, but a data sheet for a part of what seems to be the same family as on your board is available from a toolchain vendor at:
http://www.keil.com/dd/docs/datashts/st/upsd321x_ds.pdf
On page 118 this seems to indicate that programs can be loaded using JTAG In System Configuration commands, which may be somewhat standardized though quick searching isn't producing a lot of leads. A reference is also made to ST's AN1153 which would be worth trying to locate a copy of, however it's not entirely clear if that will say anything about the programming, or if it only covers the additional two optional signals which have been added for hardware acceleration of the interface.
In theory, if you can find sufficient information about this device (looking at related devices may provide clues) then you should be able to craft a programming from an Arduino or anything else that can be adapted to twiddle bits at the appropriate voltage/threshold levels.
In practice, you may be better off trying to find an old Windows XP box, or even trying to run that software on a virtual/emulated environment and trap the I/O access either to proxy or to figure out what it is doing and reverse engineer your own programmer.
But unless you have a large installed base of boards using these chips, or particular need some unusual feature of them (I thought I saw something about a built-in CPLD?) it's really not going to be worth the effort.

Best way of adding SNMP support to your own application on Debian

I am working on Debian and I have this server we want to monitor.
The application is ours and there are around a hundred real-time counters we want to export for monitoring purposes, graphs and alarms.
I've been looking at the Debian way of doing this because we do use Debian packaging to install the app, and Debian uses snmpd daemon, based on net-snmp, to export SNMP.
So far every approach I've seen looks very complicated, from recompiling snmpd to load a dynamic library into it, and compiling a form of subagent that replicates what snmpd does.
While all of those options make me think I should go for something else than SNMP I don't want to give up that early and I was wondering if anybody has found a feasible implementation.
Ideally it should be coded in C or C++ as the app is in C++, but I'm open to wrappers or other kind of suggestions.
net-snmp supports both the smux and agentx agent extension protocols, allowing sub-agents to live in different processes. They also have a tutorial on writing AgentX subagents in C.
An often overlooked solution is Agent++ API, which to me looks pretty nice and is under the Apache license. As far as I understand, you can modify that agent to answer to your own MIBs.
That said, doing a subagent isn't such a bad choice. You start the standard unpatched snmpd (from net-snmp). Then you connect to it with your subagent, which only adds those OIDs you want it to add. The net-snmp kit for coding AgentX (as the protocol is called) sub-agents is not dead simple to use, but not very hard either. There is also a Perl module for sub-agent development: https://metacpan.org/pod/NetSNMP::agent
The traditional way to do this in linux is to use the net-snmp package. Make sure you write the MIB first. Everything is based on the MIB and changes to the MIB usually results in lots of changes in the code. Coding for net-snmp is not difficult and there is lots of documentation to get you started, eg: http://www.net-snmp.org/wiki/index.php/Tutorials#Coding_Tutorials
Have you tried net-snmp?

Android. Is it possible to write custom function on C/C++ and use it in SQL query?

SQLite3 doesn't support stored procedures. Is it possible to write custom function on C/C++ and use it in SQL query?
Something like that
SELECT * FROM table WHERE CUST_FUNCTION(name1, name2) = 1
or
SELECT CUST_FUNCTION(name1, name2) FROM table
Maybe you have some good example how to do that.
Sadly, it appears you cannot.
I was looking at something like this for calculating distance from within a sqlite query - it was sometimes mentioned as a method for doing this.
sqlite does support something like this, so documentation and other references will suggest that this is possible. However, after looking at various sources, I came to the conclusion that, while you can do it in several places that use sqlite (like iPhone I believe), you can't do it in Android's sqlite (at least I didn't find anyone able to do this way in Android).
Here are a couple of links that I had found suggesting it wasn't possible in Android and unfortunately I couldn't find any counterexamples. But I'd love to find I'm wrong about this ...
Android sqlite sort on calculated column (co-ordinates distance)
"The technique you describe does not seem to be applicable to Android, which cannot use sqlite3_create_function(). – CommonsWare Jan 9 '10 at 19:00"
Sqlite on Android: How to create a sqlite dist db function - to be used in the app for distance calculation using lat, long
org.sqlite is not an Android API, so that is not relevant. – hackbod Mar 1 '10 at 4:59
1
You are correct, org.sqlite is not an Android API. However, you can use it to implement a Content Provider that does what he asked. – Joshua Smith Mar 1 '10 at 12:39
Actually, I'm rather skeptical on the approach outlined in the content provider answer you link to. org.sqlite is not in Android, and it is unclear if there exists an org.sqlite implementation that will work in concert with Android's SQLite environment. – Pentium10 Jun 27 '10 at 9:12
Yes it might be possible, but that will not be supported officially on Android. We can do that either by writing our shared object in C and SQLite natively. I think, another way would be to java libraries for SQLite instead on relying on Google's libarries
I have not done any Android development , but it certainly is possible on other platforms.
Have a look at the sqlite_create_funciton api
http://www.sqlite.org/c3ref/create_function.html

How do i use C++ with Flex?

How can i outsource performance critical stuff to C++.
Is there any example ?
If you're talking about Flex on AIR platform (basically out of browser application), there's a way to interact with native code on the same machine.
You may want to check this out (official doc from Adobe) : http://www.adobe.com/devnet/air/ajax/quickstart/interacting_with_native_process_print.html
If you're talking about flex in the browser, then I would agree with Dmitry, you can use many different things:
- Web Services
- HTTP Request/Response
- RPC calls
- Or even make your own real-time socket (in some cases can be the most performant way to do this)
Now, that would require a C++ Server, listening to those calls, doing the stuff and then replying. => Meaning you need networking.
Now this is somewhat confusing based on tags that you chose. flex and bison are used to create compilers, and related tools.
If you are using Adobe flex then you would generally get your data from a webservice. There are toolkits that can help you create these webservices with C++ like gSOAP http://www.cs.fsu.edu/~engelen/soap.html.