Definitely, it's always used GCC under the hood, and also just been the IDE.
Arduino (the original AVR boards anyway) have always relied on GCC, and not just that but the entire open source chain that already existed for AVR-GCC. I'm sure they contribute back (I guess "sure" is an exaggeration), but it worked pretty darn well already.
Arduino, for me, replaced emacs for an IDE. The main reasons I use it are because I don't need to write a makefile, and the integrated serial port. Those are good enough features that I still use the IDE even though I haven't touched a real Arduino in a decade or more. But I work alone and don't usually have more than a few thousand lines of code so it's not too complex to manage.