So, almost every thread you see on here where people talk about using a cell phone vs Garmin/GPS, the idea that a phone battery won't last long enough is brought up because "GPS sucks battery". In my experience with iPhones (can't talk Android sorry), this is a complete myth. Let me tell you about my setup. I have an iPhone 6 (held in left/back jersey pocket), I use the Cyclemeter App. On my bike I have a Wahoo BlueSC v2.0 speed/cadence meter, and a Wahoo RFLKT (so I can see my speed/cadence/HR/distance without having to view the phone screen). I also have a Wahoo BlueHR heartrate strap.
When I ride, I turn off "mobile data", this means that the phone does not access the internet in the background while I ride.
Using this set up I find that my phone drains at a rate of about 10% an hour.
Case in point, on Saturday I did a century ride, and also rode 6 miles to and from the event start point from my house. I started on 100% charge. At the end of the ride, after 8h30m of elapse time (7 hours spent riding), my iPhone's battery was at 35% capacity.
As for the "I need my phone for emergency calls" issue. I carried a small battery pack that could recharge my phone fully, but I didn't need it and still could have made calls if necessary.
There are many reasons to use a Garmin instead of a phone, but in my experience, battery life simply isn't one of them.